dataframe fillna()只保留部分列

我试图在Pandas数据框中仅对某些列子集使用0填充none值

当我这样做时:

将熊猫作为pd导入
数据帧(数据={'a':[1,2,3,无],'b':[4,5,无,6],'c':[无,无,7,8]})
打印df
df.fillna(值=0,就地=True)
打印df

输出:

a b c
01.04.0NaN
1 2.0 5.0 NaN
2.3.0 NaN 7.0
3.6.08.0
a、b、c
0  1.0  4.0  0.0
1  2.0  5.0  0.0
2  3.0  0.0  7.0
3  0.0  6.0  8.0

它将每个None替换为0。我想做的是,只替换列ab中的Nones,而不是c

这样做的最佳方式是什么

您可以选择所需的列并通过分配来完成:

df[['a','b']]=df[['a','b']].fillna(值=0)

结果输出如预期:

a b c
01.04.0NaN
1 2.0 5.0 NaN
2  3.0  0.0  7.0
3  0.0  6.0  8.0

发表评论