云天徽上 发表于 2024-6-15 15:27:13

【Pandas】深入解析pandas中的统计汇总函数`aggregate()`


!(data/attachment/forum/202406/15/152709idvscgvkgghlxbgb.png)


在数据处理和分析的世界中,`pandas` 是一个强大的工具,它提供了许多用于数据清洗、转换和统计分析的函数。其中,`aggregate()`(或简称 `agg()`)函数是 `pandas` 中一个非常重要的函数,它允许用户对 `DataFrame` 或 `Series` 中的数据进行多种统计汇总操作。本文将深入解析 `pandas` 中的 `aggregate()` 函数,并通过具体的代码示例来演示其用法。

一、`aggregate()` 函数简介

`aggregate()` 函数(通常简写为 `agg()`)是 `pandas` 中用于应用一个或多个函数到 DataFrame 或 Series 的轴上的函数。这个函数接受一个函数列表、函数字典或其他类似的可迭代对象作为输入,并返回一个新的 DataFrame 或 Series,其中包含了原始数据经过这些函数处理后的结果。

二、`aggregate()` 函数的使用

1. **对 Series 使用 `agg()`**

首先,我们来看一个简单的示例,展示如何在 Series 上使用 `agg()` 函数。

```python
import pandas as pd

# 创建一个简单的 Series
s = pd.Series()

# 使用 agg() 函数计算 Series 的总和和平均值
result = s.agg(['sum', 'mean'])

print(result)
# 输出:
# sum   15.0
# mean    3.0
# dtype: float64
```

在上面的示例中,我们创建了一个包含整数的 Series,并使用 `agg()` 函数计算了它的总和和平均值。`agg()` 函数接受一个函数列表作为输入,这些函数将被依次应用到 Series 上,并返回一个包含结果的新 Series。

2. **对 DataFrame 使用 `agg()`**

对于 DataFrame,`agg()` 函数更加灵活,因为它允许我们在不同的列上应用不同的函数。

```python
# 创建一个简单的 DataFrame
df = pd.DataFrame({
    'A': ,
    'B': ,
    'C':
})

# 使用 agg() 函数计算每列的总和、平均值和最大值
result = df.agg(['sum', 'mean', 'max'])

print(result)
# 输出:
#      A   B   C
# sum102642
# mean2.56.510.5
# max   4   8   12
```

在这个示例中,我们创建了一个包含三列整数的 DataFrame,并使用 `agg()` 函数计算了每列的总和、平均值和最大值。结果是一个新的 DataFrame,其中包含了原始 DataFrame 中每列经过这些函数处理后的结果。

3. **使用函数字典对 DataFrame 应用不同函数**

如果我们想要对 DataFrame 中的不同列应用不同的函数,我们可以使用函数字典来实现。

```python
# 使用 agg() 函数和函数字典对 DataFrame 应用不同函数
result = df.agg({'A': ['sum', 'min'], 'B': ['mean'], 'C': 'max'})

print(result)
# 输出:
#      A    B   C
# sum10NaN12
# min   1NaNNaN
# mean NaN6.5NaN
# maxNaNNaN12
```

在这个示例中,我们对列 'A' 应用了总和和最小值函数,对列 'B' 应用了平均值函数,对列 'C' 应用了最大值函数。结果是一个新的 DataFrame,其中包含了原始 DataFrame 中每列经过这些函数处理后的结果。注意,对于没有在函数字典中指定的列,结果 DataFrame 中对应的位置将包含 NaN 值。

三、`aggregate()` 函数的优点

`agg()` 函数的优点在于其灵活性和易用性。通过传入一个函数列表或函数字典,我们可以轻松地对 DataFrame 或 Series 中的数据进行多种统计汇总操作。此外,`agg()` 函数还支持嵌套函数和自定义函数,使得数据处理和分析更加灵活和高效。

四、总结

在本文中,我们深入解析了 `pandas` 中的 `aggregate()` 函数,并通过具体的代码示例展示了其用法。`agg()` 函数是一个强大的工具,它允许我们对 DataFrame 或 Series 中的数据进行多种统计汇总操作。通过传入一个函数列表或函数字典,我们可以轻松地对数据进行处理和分析。希望本文能够帮助读者更好地理解和使用 `pandas` 中的 `aggregate()` 函数。
页: [1]
查看完整版本: 【Pandas】深入解析pandas中的统计汇总函数`aggregate()`