group by 使用规则

 

第一,凡是在group by后面出现的字段,必须同时在select后面出现;

第二,凡是在select后面出现的、同时未在聚合函数中出现的字段,必须同时出现在group by后面. 

 

在Pandas库中,`DataFrame.groupby()`是一个非常强大的函数,用于将数据按照一个或多个键分组,并对每个分组应用聚合操作、转换或其他计算。通过 `groupby()`, 用户可以方便地实现数据分析中的“拆分-应用-合并”策略。 ### 基本用法: 假设我们有一个包含销售记录的数据框df: ```python import pandas as pd data = { '部门': ['A', 'B', 'A', 'B'], '销售额': [10, 20, 30, 40], } df = pd.DataFrame(data) ``` #### 按单列分组并求和: 如果你想按某个特定字段(如"部门")对所有值进行分类汇总,则可以直接指定该列为参数传递给 groupby 函数后再调用 sum(): ```python result = df.groupby('部门').sum() print(result) ``` 这会返回一个新的 DataFrame ,其中索引由 "部门" 列组成,而数值则是各部分别对应的总金额。 #### 对多列同时分组: 也可以一次性基于多个条件来进行更细致化的分段统计分析。例如,在上述基础上再加入日期信息作为另一维度参考点: ```python # 添加时间列 df['日期'] = ['2023-07-01', '2023-07-01', '2023-07-02', '2023-07-02'] multi_grouped_df = df.groupby(['部门','日期']).agg({ '销售额':'sum' }) print(multi_grouped_df) ``` 这里使用了 agg() 方法来明确指出对于每一列需要做什么样的聚集运算 (比如求和) 。请注意当涉及多层索引时输出结果的形式变化;另外还可以自定义更多复杂的规则! ### 其他常用功能包括但不限于: - **count():** 统计每组内非空元素的数量。 - **mean()/median()/min()/max():** 计算平均数/中位数/最小值/最大值等描述性统计数据。 - **size:** 返回各小组样本量大小而不是去重后的非NA项数目。 - 支持直接链式调用多种方法组合处理,以及自定义lambda表达式的灵活运用等等... 希望这个简单的介绍能帮助您理解如何开始利用 Pandas 的 groupby 功能完成基本的任务需求!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值