我将 Python 从 3.9 更新到 3.11.6,并开始出现此错误:
**未来警告:
设置不兼容的数据类型的项目已被弃用,并且将在 pandas 的未来错误中引发。值“1000000”的数据类型与 float64 不兼容,请首先显式转换为兼容的数据类型。**
警告的行是:
df.fillna('1000000', inplace=True)
阅读 stackoverflow 点击的内容,例如 解决不兼容的数据类型警告... 和 DeprecationWarning:空系列的默认数据类型... 等等。
但仍然没有掌握这个问题以及如何解决它。该代码仍然有效,它只是产生此警告消息。 希望有人可以帮助我查看上面的单行代码而不是可复制的代码。
谢谢。
代码仍然有效,它只是产生此警告消息。试图看看如何摆脱这个警告。
您需要针对不同的列类型采用不同的
fillna
策略。 '1000000'
是字符串,1000000
是整数,1000000.0
是浮点数。将字符串放入 float64
列中将会产生错误。您可以迭代列,获取列类型并适当填充 NA。
for col in df:
dt = df[col].dtype
if (dt == int) or (dt == float):
df[col].fillna(1000000, inplace=True)
else:
df[col].fillna("1000000", inplace=True)