熊猫' SettingWithCopyWarning不可避免?

时间:2018-03-19 10:54:33

标签: python pandas indexing

数据框df的给定列 a 包含带换行符的字符串。我通过

将它们分成一个字符串列表
df.a = df.a.str.split('\n', expand=False)

但是,我收到了警告

  

正在尝试在DataFrame的切片副本上设置值。尝试   使用.loc [row_indexer,col_indexer] = value而不是

     

请参阅文档中的警告:   http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy   self [name] = value

但是,根据警告或here的建议,我认为无法使用.loc进行此操作。

我是对的吗?

1 个答案:

答案 0 :(得分:0)

感谢@jpp和@jezreal,问题出在前面的代码行中:

df = root_of_all_evil[some_selection]
df.a = df.a.str.split('\n', expand=False)

@jezreal建议解决方案很简单:

df = root_of_all_evil[some_selection].copy()
df.a = df.a.str.split('\n', expand=False)