Pandas是一个强大的数据分析工具,提供了大量的数据结构和数据分析工具,使得数据分析和处理变得更加高效和简单。其中,GroupBy是Pandas中非常常用的一个功能,它允许用户根据一个或多个键对数据进行分组,并对每个组执行某种形式的计算。
import pandas as pd
# 创建一个示例DataFrame
df = pd.DataFrame({
'A': ['zuo', 'zuo', 'beng', 'beng', 'bar'],
'B': ['one', 'one', 'two', 'two', 'one'],
'C': [1, 2, 3, 4, 5],
'D': [10, 20, 30, 40, 50]
})
# 根据列'A'进行分组
grouped = df.groupby('A')
上述代码会输出一个GroupBy对象,该对象包含了按列'A'分组后的数据。但此时并未执行任何计算,只是进行了分组。
二、结合聚合函数使用
GroupBy的真正强大之处在于它可以与各种聚合函数结合使用,对每个组执行计算。Pandas提供了许多常用的聚合函数,如sum、mean、count等,同时也可以自定义聚合函数。
-
使用内置聚合函数
# 计算每个组的'C'列的和 result = grouped['C'].sum() print(result) # 计算每个组的'D'列的平均值 result = grouped['D'].mean() print(result) 上边是承接上个代码块的写法。 我们也可以按如下方法写。 # 计算每个组的'C'列的和 result = df.groupby('A') .sum() print(result) # 计算每个组的'D'列的平均值 result = df.groupby('A') .mean() print(result)