我正在使用Pandas SettingWithCopyWarning的答案
在我的脚本中,但它返回了我“ SettingWithCopyWarning”,我可以知道该如何解决吗?

attemped1:dff ['changed'] = dff.col1.ne(dff.col1.shift(1))
尝试2:dff.loc [:,'已更改] = dff.col1.ne(dff.col1.shift(1))

最佳答案

您的代码是正确的,问题在上面的某些行中。

我猜您过滤了DataFrame并且解决方案是添加copy

dff = df[df['col2'] == 1].copy()
dff['changed'] = dff.col1.ne(dff.col1.shift(1))


如果以后在dff中修改值,则会发现修改不会传播回原始数据(df),并且Pandas会发出警告。

关于python - 实现列比较时的SettingWithCopyWarning,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51796480/

10-09 08:03