DataFrame.sum(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs)[source]
返回所请求轴的值之和。
这等效于方法numpy.sum。
参数:axis:{index (0), columns (1)}
要应用于的函数的轴(axis)。
skipna:bool, 默认为True
当计算结果时,排除NA / null值。
level:int 或 level name, 默认为None
如果轴是多索引(层次化),则沿着特定级别计数,
并折叠成一个Series。
numeric_only:bool, 默认为None
只包括float,int,boolean列。
如果 None,,将尝试使用一切,
然后只使用数字数据。没有在Series中实现。
min_count:int, 默认为 0
执行操作所需的有效值数量。
如果少于min_count非NA值,则结果将为NA。
0.22.0版中的新增功能:添加了默认值0。
这意味着all-NA或空Series的总和为0,
all-NA或空Series的乘积为1。
**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