如果另一列中的值等于某个特定值,我尝试替换多个columns
中的值。对于下面的df
,我想替换所有integers
,如果Col A is == ABC
,那么integers
将是一个空值
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时,我想替换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
熊猫
apply
:输出:
使用^{} 和
np.integer
或np.number
如果要选择所有数字列,然后按条件用loc
设置空字符串:你可以用
相关问题 更多 >
编程相关推荐