无法将float64列转换为pandas对象

wn9m85ua  于 2024-01-04  发布在  其他
关注(0)|答案(2)|浏览(130)

我有一个Excel文件,下面的列:

id     |name
------------
1111.0 | sam
2222.0 | mike
3333.0 | john

字符串
id列被pandas识别为float 64数据类型。
我想要的:

id   |name
------------
1111 | sam
2222 | mike
3333 | john


我试探着:

df= df.id.astype(str)


df=df.id.apply(str)


但它仍然没有将其转换为对象。这个问题与从excel读取数据的方式有关。我知道如果我从头开始用python构建整个数据集,我可以解决这个问题,但这并不实用。
谢谢你

fzsnzjdm

fzsnzjdm1#

我认为原因应该是一些缺失的值,所以你可以使用integer_na,只需要pandas 0.24+:

df.id = df.id.astype('Int64').astype(str)

字符串

quhf5bfb

quhf5bfb2#

一些对我有用的东西,没有引入aerodynamic代码,正在处理excel文件,删除空格并将其替换为0。还要检查是否没有与文本混合。发送print(yourrow)将有助于检查您是否有NaN(而不是数字)。经过大量研究,我可以认为.0显示是因为这个。

相关问题