提问人:AliasSyed 提问时间:10/13/2023 更新时间:10/13/2023 访问量:301
Erro “FutureWarning ...dtype 与 float64 不兼容,请先显式转换为兼容的 dtype”
Erro "FutureWarning ... dtype incompatible with float64, please explicitly cast to a compatible dtype first"
问:
我将 Python 从 3.11.6 更新到 3.9,并开始出现此错误:
**未来警告:
设置不兼容的 dtype 项已弃用,并且会在将来的 pandas 错误中引发。值“1000000”的 dtype 与 float64 不兼容,请先显式转换为兼容的 dtype。
警告的行是:
df.fillna('1000000', inplace=True)
读取 stackoverflow 命中,例如 Solving incompatible dtype warning... 和 DeprecationWarning: The default dtype for empty Series... 等等。
但仍然没有掌握问题以及如何解决它。代码仍然有效,它只是产生此警告消息。 希望有人能帮我查看上面的单行代码,而不是可复制的代码。
谢谢。
代码仍然有效,它只是产生此警告消息。试图看看我怎样才能摆脱这个警告。
答:
0赞
kelvt
10/13/2023
#1
您需要针对不同的列类型采用不同的策略。 是一个字符串,而是一个 int 并且是一个浮点数。将字符串放在列中将产生错误。您可以遍历列,获取列类型并适当地填充 NA。fillna
'1000000'
1000000
1000000.0
float64
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)
评论