python - 如何舍入/删除 pandas 列中的尾随 ".0"零?

标签 python pandas

我正在尝试查看是否可以从此电话号码列中删除尾随零。

例子:

0
1      8.00735e+09
2      4.35789e+09
3      6.10644e+09

此列中的类型是一个对象,我试图将其四舍五入但出现错误。我检查了其中的几个,我知道它们的格式为“8007354384.0”,并希望用小数点去掉尾随零。

有时我收到这种格式,有时我不收到,它们将是整数。我想检查电话列是否有尾随零,然后将其删除。

我有这段代码,但我对如何检查每一行的尾随零感到困惑。

data.ix[data.phone.str.contains('.0'), 'phone']

我收到一个错误 => *** ValueError: cannot index with vector containing NA/NaN values。我认为问题是因为有些行有空数据,有时我确实收到了。上面的代码应该能够跳过一个空行。

有人有什么建议吗?我是 Pandas 的新手,但到目前为止它是一个有用的图书馆。您的帮助将不胜感激。

注意 上面提供的示例,第一行有一个空数据,我有时会这样做。只是为了确保电话号码不表示为 0。

空数据也被视为字符串,因此如果行为空,则它是 float 和字符串的混合。

最佳答案

使用astype(np.int64)

s = pd.Series(['', 8.00735e+09, 4.35789e+09, 6.10644e+09])
mask = pd.to_numeric(s).notnull()
s.loc[mask] = s.loc[mask].astype(np.int64)
s

0              
1    8007350000
2    4357890000
3    6106440000
dtype: object

关于python - 如何舍入/删除 pandas 列中的尾随 ".0"零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42403907/

相关文章:

python - Elasticsearch 匹配多个字段

python - 将数据框中的多列数据(包括自动生成的列)分组

python - 按多个 Pandas 数据框中的共同值选择

python - Pandas 返回其子字符串在另一列中找到的行列表

Python算法求一些数字的总和

python - 从字符串列表列表转换为 Python 中的整数列表列表

python - 返回无值的数据框

python - Pandas DataFrame 如何解释两个给定的列?

python - tkinter 中的非顶级 opengl 小部件

python - pandas:提取扩展窗口中最大值的索引