温馨提示×

pandas的groupby怎么使用

小亿
87
2023-12-12 17:53:52
栏目: 编程语言

Pandas中的groupby函数用于对DataFrame中的数据进行分组。它可以根据某一列或多列的值将数据分成不同的组,并对每个组进行聚合操作。

以下是groupby函数的一般用法:

df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, **kwargs)

参数说明:

  • by: 指定分组的列名或列名的列表。可以是单个列名的字符串,也可以是多个列名组成的列表。
  • axis: 指定分组的轴,默认为0,表示按行分组。如果设置为1,则表示按列分组。
  • level: 如果DataFrame具有多层索引,则可以指定要分组的索引级别。
  • as_index: 是否以分组的列作为索引,默认为True。
  • sort: 分组后的结果是否根据分组键进行排序,默认为True。
  • group_keys: 是否在最后的结果中包含分组键,默认为True。
  • squeeze: 如果分组后的结果只有一列,是否将结果返回为Series,默认为False。
  • observed: 是否观察到所有的分组键,默认为False。

groupby函数返回一个GroupBy对象,可以对该对象进行聚合操作,如求和、平均值等。

以下是一些常用的groupby操作示例:

# 按某一列进行分组,并计算每组的平均值
df.groupby('column_name').mean()

# 按多个列进行分组,并计算每组的和
df.groupby(['column_name1', 'column_name2']).sum()

# 对分组后的结果进行聚合操作
df.groupby('column_name').agg({'column_name1': 'sum', 'column_name2': 'mean'})

# 对分组后的结果进行迭代
for group_name, group_data in df.groupby('column_name'):
    # 操作每个分组的数据

# 对分组后的结果应用自定义的函数
df.groupby('column_name').apply(custom_function)

以上是groupby函数的基本用法,更详细的使用方法可以参考Pandas官方文档。

0