pandas求和聚合函数
时间: 2024-12-31 11:29:53 浏览: 8
### 如何使用 Pandas 进行求和聚合操作
在 Pandas 中,`agg()` 方法不仅能够执行多种类型的聚合运算,还可以专门用来实现求和功能。当需要对整个 DataFrame 或特定列进行求和时,可以直接调用 `sum()` 函数;而针对 GroupBy 对象,则可以通过指定 `agg(sum)` 来完成相同的操作。
#### 使用 sum() 函数对整张表或某几列求和
对于简单的求和场景,无需先创建 GroupBy 对象,可直接作用于 DataFrame 上:
```python
import pandas as pd
# 创建示例数据集
data = [[110, 105, 99], [105, 88, 115], [109, 120, 130]]
df = pd.DataFrame(data, columns=['A', 'B', 'C'])
# 计算所有数值列的总和
total_sum = df.sum()
print(total_sum)
# 只计算某些选定列(如 A 和 B 列)的总和
selected_columns_sum = df[['A', 'B']].sum()
print(selected_columns_sum)
```
#### 针对分组后的数据进行求和
为了更细致地控制哪些记录应该被一起加起来,在实际应用中经常会对数据按照某个字段进行划分后再做汇总统计。此时就需要借助 `groupby().agg()` 组合来实现了:
```python
import pandas as pd
# 构建带有分类标签的新样本数据框
data_with_group = {
'team': ['X', 'Y', 'X'],
'score_A': [110, 105, 109],
'score_B': [105, 88, 120]
}
df_groups = pd.DataFrame(data_with_group)
# 按照 team 字段分组并对 score_A 和 score_B 分别求和
grouped_sums = df_groups.groupby('team').agg({
'score_A':'sum',
'score_B':'sum'
})
print(grouped_sums)
```
上述代码展示了两种不同层次上的求和方式——全局范围内的简单相加以及基于条件筛选后的局部累加[^1]。
阅读全文