我已经将一些列从现有 Dataframe 复制到新 Dataframe 中,如下所示:
df_1 = pandas.DataFrame({'A': ['a','','c',''], 'B': ['','b','','d'], 'C': [1,2,3,4], 'D': [4,5,6,7]})
df_2 = df_1[['A', 'B']]
我正在组合两列文本列A和列B,我得到SettingWithCopyWarning错误通过执行这些操作:
df_2['A'] = df_2['A'] + df_2['B']
或
df_2['A'] = df_2['B'] + df_2['C']
无论是否覆盖列,我都会遇到此错误。我查看了SettingWithCopyWarning,似乎只有在存在双索引(如df['A']['B'] = value)时才会出现此问题。我希望再次检查并确保此类操作仍然可以执行。我创建了df_2作为df_1的简化版本,并且只打算继续使用df_2。我想保留df_1而不改变它。
df_1 = pandas.DataFrame({'A': ['a','','c',''], 'B': ['','b','','d'], 'C': [1,2,3,4], 'D': [4,5,6,7]})
df_2 = df_1[['A', 'B']]
df_2['A'] = df_2['A'] + df_2['B']
df_2
我期望df ['A ']应该是['a','b ','c','d '],而df ['B']仍然是['','b ','','d']
1条答案
按热度按时间t9eec4r01#
您必须使用
.loc[]
或copy()
来避免此警告,以创建“副本”而不是视图:输出:
更多信息