Pandas:分组聚合

在 Pandas 中,分组和聚合是处理和分析数据的重要工具,能够帮助用户从大型数据集中提取有意义的总结和统计信息。这里简要概述分组(grouping)和聚合(aggregation)的基本概念、用法、以及它们的结合使用。

1. 分组(Grouping)

        分组是将数据集分成不同的组,以便对每个组独立进行操作。在 Pandas 中,分组通常使用 `groupby()` 方法来进行。该方法可以根据一个或多个变量将 DataFrame 划分为不同的小组。

1.1 基本用法

import pandas as pd  

# 创建示例 DataFrame  
data = {  
    'Category': ['A', 'A', 'B', 'B', 'C', 'C'],  
    'Values': [10, 20, 30, 40, 50, 60]  
}  
df = pd.DataFrame(data)  

# 按类别进行分组  
grouped = df.groupby('Category')

2. 聚合(Aggregation)

        聚合是对分组数据执行某种汇总操作,如求和、计算均值、计数等。Pandas 提供了多种聚合函数,用户可以使用它们对每个组的数据进行汇总。

2.1 常用聚合函数

        sum(): 计算和
        mean(): 计算均值
        count(): 计算计数
        min(): 计算最小值
        max(): 计算最大值
        std(): 计算标准差

2.2 聚合示例

# 计算每个类别的总和  
sum_result = grouped.sum()  
print(sum_result)

3. 分组和聚合的结合使用

结合分组和聚合可以轻松有效地生成汇总统计。用户可以对分组后的对象直接调用聚合函数。

# 计算每个类别的平均值  
mean_result = grouped.mean()  
print(mean_result)  

# 计算每个类别的计数  
count_result = grouped.count()  
print(count_result)

4. 使用多个聚合函数

用户也可以在一次操作中使用多个聚合函数。Pandas 允许通过 `agg()` 方法来实现。

# 使用多个聚合函数  
agg_result = grouped.agg(['sum', 'mean', 'max'])  
print(agg_result)

 

5. 自定义聚合函数

除了内置的聚合函数,用户还可以定义自定义的聚合函数,并在分组时使用它们。

# 自定义聚合函数  
def range_func(x):  
    return x.max() - x.min()  

# 应用自定义聚合函数  
custom_agg_result = grouped.agg(range_func)  
print(custom_agg_result)

6. 分组的多级(Multi-level)分组

用户可以根据多个列进行分组,实现多层次的聚合统计。

data_multi = {  
    'Category': ['A', 'A', 'B', 'B', 'C', 'C'],  
    'Type': ['X', 'Y', 'X', 'Y', 'X', 'Y'],  
    'Values': [10, 20, 30, 40, 50, 60]  
}  
df_multi = pd.DataFrame(data_multi)  

# 多级分组  
grouped_multi = df_multi.groupby(['Category', 'Type']).sum()  
print(grouped_multi)

 

7. 总结

分组和聚合是数据分析中非常强大的工具,可以帮助用户在分析大型数据集时提取重要信息。在 Pandas 中,使用 `groupby()` 方法可以轻松地将数据分组,随后可以对每个组进行多种聚合操作。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

00&00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值