NaN值的总和应为NaN而不是零

3

使用 df['TOTAL'] = df.sum(axis=1) 可以为此 DF 添加一个 TOTAL 列,它会像这样添加行元素:

   col1  col2  TOTAL
0   1.0   5.0    6.0
1   2.0   6.0    8.0
2   0.0   NaN    0.0
3   NaN   NaN    0.0

然而,我希望底部行的总和显示为NaN,而不是零,如下所示:
   col1  col2  TOTAL
0   1.0   5.0    6.0
1   2.0   6.0    8.0
2   0.0   NaN    0.0
3   NaN   NaN    Nan

有没有一种高效的方法可以实现这个?
1个回答

3
DataFrame.sum添加参数min_count=1

min_count:int,默认值为0
执行操作所需的有效值数量。如果少于min_count个非NA值,则结果将为NA。

版本0.22.0中新增:默认值为0。这意味着所有NA或空Series的总和为0,所有NA或空Series的乘积为1。

df['TOTAL'] = df.sum(axis=1, min_count=1)
print (df)
   col1  col2  TOTAL
0   1.0   5.0    6.0
1   2.0   6.0    8.0
2   0.0   NaN    0.0
3   NaN   NaN    NaN

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接