根据另一列中的其他值列表替换一列中的字符串值

Replacing a string value in one column based upon a list of other values in another column

我正在清理数据集,如果 B 列包含选项列表中的字符串之一,我需要将 A 列中的字符串替换为“foo”。

我有一个包含在 B 列中的值列表,我想用它来指示我需要替换 A 列

A   B
foo apple
foo banana
bar cherry
foo orange
bar melon
bar papaya

我有多个值可以触发替换。

list = ['papaya', 'avocado', 'cherry', 'mango']

使用该列表通知替换项如果 B 列包含列表中的值之一,我想将 A 列中的值更改为 foo。此示例中的结果如下所示。

A   B
foo apple
foo banana
foo cherry
foo orange
bar melon

任何建议都有帮助,谢谢。

做:

lst = ['papaya', 'avocado', 'cherry', 'mango']
df.loc[df['B'].isin(lst), 'A'] = 'foo'
print(df)

输出

     A       B
0  foo   apple
1  foo  banana
2  foo  cherry
3  foo  orange
4  bar   melon
5  foo  papaya