【发布时间】:2022-07-15 12:12:39
【问题描述】:
我正在尝试使用 .loc 函数对数据框 子集 的多个列中的值进行简单替换,过程如下:
原始数据框
cols = [f'Q{i:03}' for i in range(1, 50)]
vals = np.random.choice(['a', 'b'], (10, len(cols)))
df = pd.DataFrame(vals, columns=cols)
从原始数据框中,我使用以下方法获取列的子集:
df2=df.iloc[:,np.r_[0:15,21,22,24:40]]
最后我使用
替换列子集中的值 df2.loc[:,'Q014':'Q032'] =
df2.loc[:,'Q014':'Q032'].replace({'a':1,'b':0})
我不明白为什么会收到此警告
试图在 DataFrame 的切片副本上设置一个值。尝试 使用 .loc[row_indexer,col_indexer] = value 代替
我已阅读文档,但看不到问题所在。有人请帮我理解。干杯
【问题讨论】:
标签: python pandas pandas-loc