我陷入了一个熊猫系列,其中包含文档编号,但已作为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值是一个空字符串吗?
答案 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, '']