在没有索引器的情况下处理pandas SettingWithCopyWarning

时间:2017-07-13 12:18:14

标签: python pandas

写作时我得到了着名的SettingWithCopyWarning:

df['test'] = pd.factorize(df.test)[0]

我试过了

df.loc[:, 'test'] = pd.factorize(df.test)[0]
df.loc[:, ('test')] = pd.factorize(df.test)[0]
df[('test')] = pd.factorize(df.test)[0]
df.loc[df.index.tolist(), 'test'] = pd.factorize(df.test)[0]

但现在成功,警告仍然存在。我不确定我做错了什么或如何处理。我所做的的要点 - 以及与其他问题的区别 - 想要使用索引器。

我也没有成功咨询http://pandas.pydata.org/pandas-docs/stable/indexing.html#returning-a-view-versus-a-copy

1 个答案:

答案 0 :(得分:0)

如果您唯一的问题是删除警告,请尝试:

pd.options.mode.chained_assignment = None 

除了没有显示警告

之外,这并没有改变