NaN的总和等于NaN(不为零)

时间:2019-02-07 06:18:53

标签: pandas dataframe sum nan zero

我可以使用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 个答案:

答案 0 :(得分:1)

将参数min_count=1添加到DataFrame.sum

  

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

     

0.22.0版中的新增功能:添加了默认值0。这表示全NA或空系列的总和为0,全NA或空系列的乘积为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