SettingWithCopy Pandas Division Warning

时间:2016-12-21 15:00:45

标签: python pandas dataframe

我一直在努力寻找一种方法,通过将两列彼此分开来在DataFrame中创建新列。无论我如何尝试,它总是抛出SettingWithCopy警告。以下是一些例子:

school['overall_percent'] = (school['Overall Points'].div(school['Overall Possible'].values, axis='index')).values

school['overall_percent'] = school['Overall Points']/school['Overall Possible']

school['overall_percent'] = school['Overall Points']/school['Overall Possible'].values

我缺少什么,以及如何确保我没有设置副本?我发现文档在这方面有点神秘,它说问题是什么,但解决方案似乎并不存在。

1 个答案:

答案 0 :(得分:0)

我(想)我(曾)发现了我的方式错误。我试图修复此代码右侧的内容,但问题是左侧。所以当我改变它时:

school.loc['overall_percent',:] = ((school['Overall Points'].div(school['Overall Possible'].values, axis='index')).iloc[:])*100

当我发现另一个不相关的错误时,我发现这是在该行中添加索引,而不是进行我需要的更改。我回到那令人讨厌的SettingWithCopy警告。