看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
pandas 的 sum()
方法用于计算 DataFrame 或 Series 中各列或各行的元素之和。该方法对数值型数据非常有用,可以快速得到数据集的总和。
返回请求轴上的值之和。这相当于 numpy.sum
方法。
DataFrame.sum(axis=0,
skipna=True,
numeric_only=None,
min_count=0,
**kwargs)
axis
:int
,默认值是 0
指定计算的轴方向:
0
或 'index'
:按列计算元素之和。1
或 'columns'
:按行计算元素之和。skipna
:bool
,默认值是 True
是否忽略缺失值(NaN)。
True
,忽略缺失值并进行计算;False
,只要有缺失值存在,对应的计算结果就会是 NaN。numeric_only
:bool
,默认值是 None
是否只计算数值类型的列。
True
,只考虑数值类型的列;False
,包括所有数据类型的列,但只对能够进行加法操作的数据类型计算。min_count
:int
,默认值是 0
需要参与计算的最小值的个数。如果小于这个值,计算结果将为 NaN。
****kwargs
**:其他关键词参数,用于扩展功能或在方法调用时传递给其他内部函数。
返回一个包含各列或各行元素之和的 Series。如果操作的是 DataFrame,则返回的 Series 的索引与输入数据的一致。
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
默认情况下,空或所有NA系列的总和为0。
pd.Series([], dtype="float64").sum() # min_count=0 is the default
# 0.0
这可以通过min_count参数来控制。例如,如果你想让一个空序列的和为NaN,请传递min_count=1。
pd.Series([], dtype="float64").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
假设我们有一个包含学生考试成绩的 DataFrame,我们可以使用 sum()
方法来计算每门课程的总成绩。
import pandas as pd
# 创建示例数据
data = {
'数学': [75, 85, 95, 65, 70],
'英语': [88, 92, 85, 70, 80],
'物理': [92, 90, 87, 85, 80]
}
df = pd.DataFrame(data)
# 计算各门课程的总成绩
df.sum()
'''
数学 390
英语 415
物理 434
dtype: int64
'''
在这个例子中,sum()
方法计算了每门课程的总成绩。这种计算在汇总和分析数据时非常常见,可以帮助我们快速了解不同科目的总体表现。
更新时间:2024-08-08 21:49:19 标签:pandas python 求和 sum