📜  pandas 聚合数据框 - Python (1)

📅  最后修改于: 2023-12-03 15:18:15.409000             🧑  作者: Mango

Pandas 聚合数据框 - Python

Pandas 是一个流行的 Python 数据分析和处理库,提供了丰富的数据结构和函数。其中,最常用的数据结构是数据框,也称为 DataFrame。Pandas 数据框具有便捷的操作和处理方法,如筛选,转换和聚合等。本文将介绍如何使用 Pandas 聚合数据框。

聚合函数

Pandas 提供了多种聚合函数,如最大值、最小值、平均值、中位数、描述性统计等。下面是一些常用的聚合函数:

  • sum():计算总和
  • mean():计算平均值
  • median():计算中位数
  • min():获取最小值
  • max():获取最大值
  • describe():生成数据框的描述性统计
聚合数据框

Pandas 聚合数据框的方法与聚合序列基本一致,不同的是需要指定数据框的轴。默认情况下,DataFrame.aggregate() 函数在列上执行聚合操作,如果需要在行上聚合,需要指定 axis=1。

例如,假设我们有以下数据框:

import pandas as pd

data = {'name': ['Alice', 'Bob', 'Charlie', 'David'],
        'age': [25, 30, 35, 40],
        'score_1': [90, 80, 70, 60],
        'score_2': [95, 85, 75, 65]}
df = pd.DataFrame(data)

我们可以通过如下方式计算 score_1 和 score_2 的总和:

df[['score_1', 'score_2']].sum()

如果需要计算每个人 score_1 和 score_2 的总和,则可以如下操作:

df[['score_1', 'score_2']].sum(axis=1)

我们也可以通过 DataFrame.aggregate() 函数进行聚合操作,例如计算 score_1 和 score_2 的平均值和最大值:

df[['score_1', 'score_2']].aggregate([np.mean, np.max])

其中,np.mean 是平均值函数,np.max 是最大值函数。

分组聚合

Pandas 聚合数据框的另一个常用方式是按照某个列进行分组,然后对每个组进行聚合操作。例如,我们可以按照 age 列进行分组,然后计算 score_1 和 score_2 的平均值和最大值:

df.groupby('age')[['score_1', 'score_2']].aggregate([np.mean, np.max])

此外,我们还可以使用自定义的聚合函数,例如计算某列的标准差:

def calculate_std(column):
    return column.std()

df[['score_1', 'score_2']].aggregate([np.mean, calculate_std])
结论

Pandas 聚合数据框是数据处理和分析中的重要步骤,可以帮助我们快速计算和理解数据。本文介绍了 Pandas 聚合数据框常用的聚合函数和分组聚合方法,希望能对大家的数据分析和处理工作有所帮助。