我从aws s3存储桶下载了一堆csv文件,并将它们放在数据帧中。在将数据框上载到sql server之前,我想更改数据框的列,使其具有正确的数据类型
当我在一列上运行astype('float64')
时,我想更改它,不仅更改数据类型,而且还更改数据
代码:
df['testcol'] = df['lineId'].astype('float64')
我附加了一张图片来直观地显示错误。正如您所看到的,第三列(testcol
)中的数据与第二列(lineId
)中的数据不同,即使只应更改数据类型
一个pl_id
可以有多个lineId
,这就是为什么我在图片中按pl_id
添加和排序
我使用astype()
是错误的还是这是一个错误
基本上,float64似乎不足以携带长整数:
“浮点64可以达到的最大精度接近10-16(最后一位的单位(ULP),请参阅en.wikipedia.org/wiki/Floating-point_算术),因此浮点的精确十进制值远远超过16位的想法是错误的。” Numpy float64 vs Python float
考虑使用It64,它可以更适合于数据集中ID的大小:
相关问题 更多 >
编程相关推荐