Pandas Groupby操作的25个示例
2024.01.17 20:45浏览量:6简介:本文将通过25个示例详细介绍Pandas库中的groupby操作,包括基本用法、聚合函数、排序和过滤等。通过这些示例,读者可以深入了解groupby在数据处理和分析中的应用,并掌握其在实际问题中的运用。
在Pandas库中,groupby操作是一种强大的工具,用于对数据进行分组、聚合、排序和过滤等操作。以下是通过25个示例来介绍groupby操作的不同应用场景。
- 基本用法
import pandas as pd# 创建一个简单的DataFramedf = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'],'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'],'C': np.random.randn(8),'D': np.random.randn(8)})# 使用列A进行分组grouped = df.groupby('A')
- 聚合函数
# 使用mean函数进行聚合grouped_mean = df.groupby('A').mean()# 使用sum函数进行聚合grouped_sum = df.groupby('A').sum()
- 自定义聚合函数
# 自定义一个聚合函数计算每组的最大值和最小值def custom_agg(x):return x.min(), x.max()grouped_custom = df.groupby('A').agg(custom_agg)
- 多列分组
# 使用多列进行分组grouped_multi = df.groupby(['A', 'B'])
- 分组后排序
# 按C列的平均值对分组后的数据进行排序grouped_sort = df.groupby('A').mean().sort_values('C')
- 分组后过滤
# 过滤出A列值为foo的组filtered_group = df.groupby('A').filter(lambda x: len(x) > 0)
- 分组后应用函数到每组数据
# 对每个组应用自定义函数,例如计算每组的平均值并取对数def custom_func(x):return np.log(x['C'].mean())grouped_apply = df.groupby('A').apply(custom_func)

发表评论
登录后可评论,请前往 登录 或 注册