gpt4 book ai didi

python - 我需要更改pandas数据框中的几列类型。无法使用iloc这样做

转载 作者:行者123 更新时间:2023-12-03 16:18:18 24 4
gpt4 key购买 nike

在具有约40列以上的数据帧中,我尝试通过使用iloc将前27列的dtype从float更改为int:

df1.iloc[:,0:27]=df1.iloc[:,0:27].astype('int')
但是,它不起作用。我没有收到任何错误,但dtype也没有更改。它仍然保持 float 。
现在最奇怪的部分:
如果我只为第一列更改dtype(如下所示):
df1.iloc[:,0]=df1.iloc[:,0].astype('int')
然后运行前面的代码行:
df1.iloc[:,0:27]=df1.iloc[:,0:27].astype('int')
它可以按要求工作。
任何了解这一点及其解决方案的帮助将不胜感激。
谢谢!

最佳答案

我猜这是1.0.5中的错误。我在1.0.5上进行了测试。我和你有同样的问题。 .loc也有同样的问题,所以我想 Pandas 开发者会破坏iloc/loc中的某些内容。您需要更新到最新的 Pandas 或使用解决方法。如果您需要解决方法,请按以下方式使用分配

df1[df1.columns[0:27]] = df1.iloc[:, 0:27].astype('int')
我测试了以上方式克服了这个错误。它将前27列变为dtype int32

关于python - 我需要更改pandas数据框中的几列类型。无法使用iloc这样做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63988597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com