![](/img/trans.png)
[英]Filling in a blank Pandas column from multiple other columns (more than 2)
[英]Filling na in a column in pandas from multiple columns conition
我很想在 Pandas 数据框中填充 na ,其中数据框中的两列都在同一行上。
A B C
2 3 5
Nan nan 7
4 7 9
Nan 4 9
12 5 8
Nan Nan 6
在上面的数据框中,我想用“不可用”替换 A 列和 B 列都有 Nan 的行
因此:
A B C
2 3 5
Not available not available 7
4 7 9
Nan 4 9
12 5 8
Not available not available 6
我尝试了多种方法,但结果却不尽如人意
如果只想测试A
和B
列,请使用DataFrame.loc
和掩码测试它的缺失值与DataFrame.all
以测试两者是否匹配:
m = df[['A','B']].isna().all(axis=1)
df.loc[m, ['A','B']] = 'Not Available'
如果需要测试任何 2 列,首先计算缺失值的数量,并且是2
使用fillna
:
m = df.isna().sum(axis=1).eq(1)
df = df.where(m, df.fillna('Not Available'))
print (df)
A B C
0 2 3 5
1 Not Available Not Available 7
2 4 7 9
3 NaN 4 9
4 12 5 8
5 Not Available Not Available 6
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.