我有一个数据帧,当列"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