我有以下数据框(df):
colA colB colC
X red 0
X blue 0
Y red 0
Y blue 0
我希望根据其他列中的条件更新colC中的特定单元格。例如:将所有colC值更新为1,其中colA = X&colB = blue。
我尝试使用df.at和df.loc函数。不幸的是,我遇到了索引错误。不太确定我了解如何正确使用它们。
df.loc[df['colA'] == 'X' & df['colB'] == 'blue', df['colC']] = 1
我希望得到以下结果:
colA colB colC
X red 0
X blue 1
Y red 0
Y blue 0
感谢您的帮助
答案 0 :(得分:6)
这里有2个问题-在条件周围缺少()
,因为只有列名才需要优先级优先级和用于设置新列的
df.loc[(df['colA'] == 'X') & (df['colB'] == 'blue'), 'colC'] = 1