根据多个条件更改列值

fre*_*rtz 5 pandas

我看过很多类似的帖子,但似乎没有人回答这个问题:

我有一个包含多列的数据框。让我们说 A、B 和 C

我想根据 A、B 和 C 上的条件更改 A 列的值

到目前为止我已经有了这个,但没有工作。

df=df.loc[(df['A']=='Harry') 
                   & (df['B']=='George') 
                   & (df['C']>'2019'),'A']=='Matt'
Run Code Online (Sandbox Code Playgroud)

所以如果A等于Harry,B等于George,C大于2019,那么把A改成Matt

有人看到我做错了什么吗?

jez*_*ael 9

你真的很接近,为布尔掩码Matt过滤赋值A

df.loc[(df['A']=='Harry') & (df['B']=='George') & (df['C']>'2019'),'A'] = 'Matt'
Run Code Online (Sandbox Code Playgroud)

  • 有效!!!非常感谢您的帮助。我一直盯着那个几个小时。一旦时间限制过去,我会接受答案。非常感谢!! (2认同)