我有一个作为数据框导入的 csv 文件。该数据帧经过多个过滤步骤。数据也会根据条件在列之间移动。
import numpy as np
import pandas as pd
df = pd.read_csv('my_csv_file.csv', names=headers)
df2 = df.drop_duplicates(['Column_X'])
series1 = df2.loc[df2['Column_Y'] == 'Category1', 'Column_X']
df2.loc[df2['Column_Y'] == 'Category1', 'Column_Z'] = series1
...
在命令提示符中输入最后一行后,我得到了 SettingWithCopyWarning。
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer, col_indexer] = value instead.
请注意,我在代码中使用了 .loc。
执行以下操作不会引发错误:
df.loc[df['Column_Y'] == 'Category1', 'Column_Z'] = series1
这让我认为问题在于使用 df2 作为新的数据框。