Python 无法将float64列转换为对象

Python 无法将float64列转换为对象,python,pandas,Python,Pandas,我有一个包含以下列的excel文件: id |name ------------ 1111.0 | sam 2222.0 | mike 3333.0 | john 等等。id列被pandas识别为浮点64数据类型 我想要的是: id |name ------------ 1111 | sam 2222 | mike 3333 | john 我试过: df= df.id.astype(str) 及 但它仍然不能将其转换为对象。这个问题与从excel中读取数据的方式有关。我知道如

我有一个包含以下列的excel文件:

id     |name
------------
1111.0 | sam
2222.0 | mike
3333.0 | john
等等。id列被pandas识别为浮点64数据类型

我想要的是:

id   |name
------------
1111 | sam
2222 | mike
3333 | john
我试过:

df= df.id.astype(str) 

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


谢谢

我认为原因应该是缺少一些值,所以您可以使用,只需要0.24+:

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