我正在使用Pandas SettingWithCopyWarning的答案 在我的脚本中,但是它返回了我“ SettingWithCopyWarning”,我可以知道该如何解决吗?
attemped1:dff ['changed'] = dff.col1.ne(dff.col1.shift(1)) 尝试2:dff.loc [:,“已更改” = dff.col1.ne(dff.col1.shift(1))
答案 0 :(得分:2)
您的代码是正确的,问题在上面的某些行中。
我猜您过滤了DataFrame
,解决方案是添加copy
:
dff = df[df['col2'] == 1].copy()
dff['changed'] = dff.col1.ne(dff.col1.shift(1))
如果稍后在dff
中修改值,您会发现修改不会传播回原始数据(df
),并且Pandas会发出警告。