实现列比较时的SettingWithCopyWarning

时间:2018-08-11 04:32:09

标签: python pandas

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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