熊猫奇怪的设置WithCopyWarning

时间:2019-06-11 09:07:23

标签: python pandas dataframe

我在熊猫上读了很多关于该错误的文章和信息。我尝试以不同的方式编写代码,但没有帮助,对我来说仍然不清楚。

我有一个数据框-带有三个列的df1:

10
* 2 mod 13
* 2 mod 13
* 2 mod 13
* 2 mod 13
* 2 mod 13

当我尝试在df中添加填充为“ 1”的列时,出现了SettingWithCopyWarning。 代码:

10
* 4 mod 13
* 4 mod 13
* 2 mod 13

在我的另一个脚本中,该代码没有引发错误,那么为什么在这种情况下我明白了?我刚刚发布了dataframe和dictionary。

接下来,当我尝试通过字典翻译值时,它再次引发错误。代码:

SampleIdInt, Username, Signature 

我尝试使用具有不同代码语法的loc,iloc。每次我遇到错误。什么奇怪Somethimes我遇到了错误,并且代码仍然修改了df,有时我遇到了错误,并且df保持不变-我不更改该代码中的任何内容。

有人可以在上面的示例中确切地解释我的问题吗?

重要的代码部分。可能有用:

df1['PolName'] = 1

1 个答案:

答案 0 :(得分:1)

您可以做的是:

df1['PolName'] = df1['SampleIdInt'].map(slownik).fillna('None')

您还可以将copy()添加到df1分配中:

df1 = snps[~mask].copy()