根据另一列中的条件替换列中的值,并保留数据帧中的剩余值



我有一个数据帧,当列"B"中的值为"X"或"Y"时,我想将列"a"中的数值替换为NULL。对于列"B"(即"Z"或"M"(中的任何其他值,我希望保留列"A"中的现有值

A B
aaa X
bbb Y
ccc X
ddd Y
eee Z
fff M

这可以使用where()isin()来完成

df['A'] = df['A'].where(~df['B'].isin(['X','Y']),'NULL')

输出:

A  B
0  NULL  X
1  NULL  Y
2  NULL  X
3  NULL  Y
4   eee  Z
5   fff  M

最新更新