Pandas 的 `groupby()` 函数是数据分析中常用的一个强大的工具,它允许您根据一个或多个键对 DataFrame 中的数据进行分组,然后对每个组执行各种聚合操作(如求和、求平均值、求计数等)。

Pandas `groupby()` 函数详解Pandas `groupby()` 函数详解


语法

`groupby()` 函数的语法如下:

```python df.groupby(keys, axis=0, level=None, as_index=True, sort=True) ```

其中:

`keys`:要分组的键。可以是列名、列表或元组。 `axis`:要分组的轴。0 表示行,1 表示列。默认为 0。 `level`:要分组的层级。对于具有多级索引的 DataFrame,此参数将指定要分组的层级。 `as_index`:布尔值。如果为 True,则将分组键设置为索引。默认为 True。 `sort`:布尔值。如果为 True,则在分组之前对 DataFrame 进行排序。默认为 True。

使用

要使用 `groupby()` 函数,只需将键作为参数传递给它,然后对组应用所需的聚合函数。

示例

以下示例演示了如何使用 `groupby()` 函数对 DataFrame 根据性别对数据进行分组,并计算每个性别组的平均身高:

```python import pandas as pd

创建一个 DataFrame df = pd.DataFrame({ '性别': ['男', '男', '女', '女'], '身高': [180, 175, 165, 160] })

根据性别分组 grouped = df.groupby('性别')

计算每个性别组的平均身高 result = grouped['身高'].mean()

打印结果 print(result) ```

输出

``` 性别 男 177.5 女 162.5 ```

`groupby()` 函数还可以与其他函数一起使用,如 `agg()` 函数,它允许您对每个组同时执行多个聚合操作。

示例

以下示例演示了如何使用 `groupby()` 和 `agg()` 函数对 DataFrame 根据性别进行分组,并计算每个性别组的平均身高和年龄,以及人数:

```python import pandas as pd

创建一个 DataFrame df = pd.DataFrame({ '性别': ['男', '男', '女', '女'], '身高': [180, 175, 165, 160], '年龄': [25, 23, 22, 20] })

根据性别分组 grouped = df.groupby('性别')

计算每个性别组的平均身高、平均年龄和人数 result = grouped['身高', '年龄'].agg(['mean', 'size'])

打印结果 print(result) ```

输出