DataFrame.sum(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs) [source]
返回所请求轴的值之和。
这等效于方法numpy.sum
。
参数: | axis : 要应用于的函数的轴(axis)。 skipna : 当计算结果时,排除NA / null值。 level : 如果轴是多索引(层次化),则沿着特定级别计数, 并折叠成一个 numeric_only : 只包括 如果 然后只使用数字数据。没有在 min_count: 执行操作所需的有效值数量。 如果少于 0.22.0版中的新增功能:添加了默认值0。 这意味着
**kwargs 传递给函数的其他关键字参数。 |
返回值: | Series 或 DataFrame (如果指定level) |
例子
>>> idx = pd.MultiIndex.from_arrays([
... ['warm', 'warm', 'cold', 'cold'],
... ['dog', 'falcon', 'fish', 'spider']],
... names=['blooded', 'animal'])
>>> s = pd.Series([4, 2, 0, 8], name='legs', index=idx)
>>> s
blooded animal
warm dog 4
falcon 2
cold fish 0
spider 8
Name: legs, dtype: int64
>>> s.sum()
14
使用级别名称和索引求和
>>> s.sum(level='blooded')
blooded
warm 6
cold 8
Name: legs, dtype: int64
>>> s.sum(level=0)
blooded
warm 6
cold 8
Name: legs, dtype: int64
默认情况下,空系列或全NA系列的总和为0
>>> pd.Series([]).sum() # min_count=0 is the default
0.0
可以通过min_count参数来控制。例如,如果您希望一个空序列的总和为NaN,请传递min_count=1
>>> pd.Series([]).sum(min_count=1)
nan
由于有了该skipna参数,因此可以完全min_count处理全NA和空序列
>>> pd.Series([np.nan]).sum()
0.0
>>> pd.Series([np.nan]).sum(min_count=1)
nan