英文原版:https://www.dataquest.io/blog/settingwithcopywarning/
中文友联:https://www.jianshu.com/p/72274ccb647a
注:链式索引是对原df对copy。
id | name | sex |
---|---|---|
1 | sdf | 男 |
2 | sdf | 男 |
3 | sdf | 男 |
如果对这个进行索引的话:df[df[‘name’]==‘sdf’]
得到的df1是原df的一个副本
这两个链式操作一个接一个地独立执行。第一次是访问操作(get),返回一个 DataFrame,其中包含所有 name 等于 ‘sdf’ 的行。第二个是赋值操作(set),是在这个新的 DataFrame 上运行的,我们压根没有在原始 DataFrame 上运行。
所以会出现这个警告。
改正,如:
df.loc[df[‘name’]==‘sdf’,‘sex’] == ‘女’