在熊猫中,如何将一系列浮点数或无浮点数转换为带整数的字符串

时间:2018-08-30 11:52:11

标签: python python-3.x pandas type-conversion

我陷入了一个熊猫系列,其中包含文档编号,但已作为float64值导入。有些失踪了。

将系列转换为字符串会为每个数字添加一个“ .0”或更改 电子符号编号。

转换为整数会导致错误消息: ValueError:无法将NA转换为整数

示例:

s = pd.Series([129944444999999922.0, 1001.0, 1119999999912.0, None])
s.astype('str')

打印

0       1.29944445e+17
1               1001.0
2    1.11999999991e+12
3                  nan
dtype: object

如何转换系列以将文件编号显示为仅编号, 没有e +表示法,并且nan值是一个空字符串吗?

1 个答案:

答案 0 :(得分:3)

使用list comprehension

s1 = pd.Series(['' if pd.isnull(x) else int(x) for x in s], index=s.index)

print (s1.apply(type))
0    <class 'int'>
1    <class 'int'>
2    <class 'int'>
3    <class 'str'>
dtype: object

print (s1.tolist())
[129944444999999920, 1001, 1119999999912, '']