我可以使用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
有没有一种方法可以使我表现出色?
答案 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