我正在尝试在多个列
中替换值,如果另一列中的值等于特定值。 对于下面的df
,如果Col A == ABC
,我想将所有整数
替换为空值。
import pandas as pd
df = pd.DataFrame({
'B' : [10,20,30,40,50],
'A' : ['ABC','DEF','XYZ','ABC','DEF'],
'C' : [1,1,1,1,1],
})
输出:
B A C
0 10 ABC 1
1 20 DEF 1
2 30 XYZ 1
3 40 ABC 1
4 50 DEF 1
当 A 等于 ABC 时,我希望替换 Col B、C 中的整数。我尝试过以下方法:
mask = df.A != 'ABC'
col = ['B','C']
df = df.loc[mask, col].replace('')
但它只选择了我想要替换的值。我希望能得到以下结果:
B A C
0 10 ABC 1
1 DEF
2 XYZ
3 40 ABC 1
4 DEF