Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Pandas GroupBy 使用教程

Pandas GroupBy 使用教程

作者头像
致Great
发布于 2019-01-28 07:45:56
发布于 2019-01-28 07:45:56
2.1K00
代码可运行
举报
文章被收录于专栏:自然语言处理自然语言处理
运行总次数:0
代码可运行

实例 1 将分组后的字符拼接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
df=pd.DataFrame({
    'user_id':[1,2,1,3,3],
    'content_id':[1,1,2,2,2],
    'tag':['cool','nice','clever','clever','not-bad']
})
df

将df按content_id分组,然后将每组的tag用逗号拼接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df.groupby('content_id')['tag'].apply(lambda x:','.join(x)).to_frame()

实例2 统计每个content_id有多少个不同的用户

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd

df = pd.DataFrame({
    'user_id':[1,2,1,3,3,],
    'content_id':[1,1,2,2,2],
    'tag':['cool','nice','clever','clever','not-bad']
})

df.groupby("content_id")["user_id"].nunique().to_frame()

实例3 分组结果排序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd

df = pd.DataFrame({
    'value':[20.45,22.89,32.12,111.22,33.22,100.00,99.99],
    'product':['table','chair','chair','mobile phone','table','mobile phone','table']
})
df
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df1 = df.groupby('product')['value'].sum().to_frame().reset_index()
df1

按产品product分组后,然后value求和:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
df2 = df.groupby('product')['value'].sum().to_frame().reset_index().sort_values(by='value')
df2

实例4 分组大小绘图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    'value':[20.45,22.89,32.12,111.22,33.22,100.00,99.99],
    'product':['table','chair','chair','mobile phone','table','mobile phone','table']
})
df
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plt.clf()
df.groupby('product').size().plot(kind='bar')
plt.show()

实例5 分组求和绘图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    'value':[20.45,22.89,32.12,111.22,33.22,100.00,99.99],
    'product':['table','chair','chair','mobile phone','table','mobile phone','table']
})
df
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plt.clf()
df.groupby('product').sum().plot(kind='bar')
plt.show()

实例 6 使用agg函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd

df = pd.DataFrame({
    'value':[20.45,22.89,32.12,111.22,33.22,100.00,99.99],
    'product':['table','chair','chair','mobile phone','table','mobile phone','table']
})

grouped_df = df.groupby('product').agg({'value':['min','max','mean']})
grouped_df
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grouped_df.columns = ['_'.join(col).strip() for col in grouped_df.columns.values]
grouped_df = grouped_df.reset_index()
grouped_df

实例7 遍历分组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for key,group_df in df.groupby('product'):
    print("the group for product '{}' has {} rows".format(key,len(group_df)))  
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
the group for product 'chair' has 2 rows
the group for product 'mobile phone' has 2 rows
the group for product 'table' has 3 rows
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.01.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
破周三,前不着村后不着店的,只好学pandas了,你该这么学,No.9
注意看到groupby里面有两个值,一个是pd.Grouper(level=1) 这个为second的index 第二个为B columns
梦想橡皮擦
2019/06/19
7120
破周三,前不着村后不着店的,只好学pandas了,你该这么学,No.9
groupby函数详解
这是由于变量grouped是一个GroupBy对象,它实际上还没有进行任何计算,只是含有一些有关分组键df[‘key1’]的中间数据而已,然后我们可以调用配合函数(如:.mean()方法)来计算分组平均值等。   因此,一般为方便起见可直接在聚合之后+“配合函数”,默认情况下,所有数值列都将会被聚合,虽然有时可能会被过滤为一个子集。   一般,如果对df直接聚合时, df.groupby([df['key1'],df['key2']]).mean()(分组键为:Series)与df.groupby(['key1','key2']).mean()(分组键为:列名)是等价的,输出结果相同。   但是,如果对df的指定列进行聚合时, df['data1'].groupby(df['key1']).mean()(分组键为:Series),唯一方式。 此时,直接使用“列名”作分组键,提示“Error Key”。 注意:分组键中的任何缺失值都会被排除在结果之外。
全栈程序员站长
2022/08/24
3.8K0
groupby函数详解
Pandas 50题练习
Pandas 是基于 NumPy 的一种数据处理工具,该工具为了解决数据分析任务而创建。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的函数和方法。这些练习着重DataFrame和Series对象的基本操作,包括数据的索引、分组、统计和清洗。
朱卫军 AI Python
2022/04/02
3K0
pandas系列5-分组_groupby
groupby 是pandas 中非常重要的一个函数, 主要用于数据聚合和分类计算. 其思想是“split-apply-combine”(拆分 - 应用 - 合并). 拆分:groupby,按照某个属性column分组,得到的是一个分组之后的对象 应用:对上面的对象使用某个函数,可以是自带的也可以是自己写的函数,通过apply(function) 合并:最终结果是个S型数据 pandas分组和聚合详解 官方文档 DataFrame.``groupby(self, by=None, axis=0,
皮大大
2021/03/02
1.7K0
数据分析之Pandas分组操作总结
Pandas做分析数据,可以分为索引、分组、变形及合并四种操作。之前介绍过索引操作,现在接着对Pandas中的分组操作进行介绍:主要包含SAC含义、groupby函数、聚合、过滤和变换、apply函数。文章的最后,根据今天的知识介绍,给出了6个问题与2个练习,供大家学习实践。
Datawhale
2020/06/23
8K0
学习pandas apply方法,看这一篇就够了,你该这么学,No.10
lambda表达式,自己去百度下,关键字python lambda 就是个匿名函数,没啥难的
梦想橡皮擦
2019/06/21
8220
学习pandas apply方法,看这一篇就够了,你该这么学,No.10
Pandas高级教程之:GroupBy用法
pandas中的DF数据类型可以像数据库表格一样进行groupby操作。通常来说groupby操作可以分为三部分:分割数据,应用变换和和合并数据。
程序那些事
2021/07/12
2.9K0
Pandas数据聚合:groupby与agg
在数据分析中,数据聚合是一项非常重要的操作。Pandas库提供了强大的groupby和agg功能,使得我们能够轻松地对数据进行分组和聚合计算。本文将从基础概念、常见问题、常见报错及解决方案等方面,由浅入深地介绍如何使用Pandas的groupby和agg方法,并通过代码案例进行详细解释。
Jimaks
2024/12/23
5250
pandas之分组groupby()的使用整理与总结
在使用pandas的时候,有些场景需要对数据内部进行分组处理,如一组全校学生成绩的数据,我们想通过班级进行分组,或者再对班级分组后的性别进行分组来进行分析,这时通过pandas下的groupby()函数就可以解决。在使用pandas进行数据分析时,groupby()函数将会是一个数据分析辅助的利器。 groupby的作用可以参考 超好用的 pandas 之 groupby 中作者的插图进行直观的理解:
全栈程序员站长
2022/08/24
2.2K0
pandas之分组groupby()的使用整理与总结
Pandas笔记_python总结笔记
https://blog.csdn.net/xinxing__8185/article/details/48022401
全栈程序员站长
2022/09/27
7150
对比MySQL学习Pandas的groupby分组聚合
不管是mysql,还是pandas,都是处理像excel那样的二维表格数据的。对于一个二维表,每一行都可以看作是一条记录,每一列都可以看作是字段。
朱小五
2020/02/20
3.2K0
对比MySQL学习Pandas的groupby分组聚合
玩转 Pandas 的 Groupby 操作
大家好,我是 Lemon,今天来跟大家分享下 pandas 中 groupby 的用法。
小小詹同学
2020/12/11
2.1K0
玩转 Pandas 的 Groupby 操作
Pandas详解
在数据科学和机器学习领域,数据处理和分析是至关重要的一环。Pandas库是Python中最强大、灵活且广泛使用的数据处理库之一。本教程将详细介绍Pandas库的各个方面,从基本的数据结构到高级的数据操作,帮助读者更好地理解和利用这一工具。
Michel_Rolle
2024/01/29
2.5K1
周一不睡觉,也要把pandas groupy 肝完,你该这么学,No.8
掉头发,有借口吧 不洗头,有借口吧 不洗袜子,有借口吧 不去看电影,有借口吧 不陪女朋友,有借口吧
梦想橡皮擦
2019/06/18
8630
Pandas GroupBy的使用
在许多情况下,我们将数据分成几组,并在每个子集上应用一些功能。在应用中,我们可以执行以下操作:
致Great
2018/12/07
2.9K0
pandas中的数据处理利器-groupby
在数据分析中,常常有这样的场景,需要对不同类别的数据,分别进行处理,然后再将处理之后的内容合并,作为结果输出。对于这样的场景,就需要借助灵活的groupby功能来处理。
生信修炼手册
2020/07/02
3.6K0
Python 数据分析(四):Pandas 进阶
我们在上一篇文章初识 Pandas中已经对 Pandas 作了一些基本介绍,本文我们进一步来学习 Pandas 的一些使用。
Python小二
2020/08/18
7530
Python 数据分析(四):Pandas 进阶
Pandas常用的数据处理方法
本文的Pandas知识点包括: 1、合并数据集 2、重塑和轴向旋转 3、数据转换 4、数据聚合 1、合并数据集 Pandas中合并数据集有多种方式,这里我们来逐一介绍 1.1 数据库风格合并 数据库风格的合并指根据索引或某一列的值是否相等进行合并的方式,在pandas中,这种合并使用merge以及join函数实现。 先来看下面的例子: df1 = pd.DataFrame({'key':['b','b','a','c','a','a','b'],'data1':range(7)}) df2 = pd.Dat
石晓文
2018/04/11
8.4K0
Pandas常用的数据处理方法
Pandas 2.2 中文官方教程和指南(二十·二)
有了 GroupBy 对象,通过分组数据进行迭代非常自然,类似于itertools.groupby()的操作:
ApacheCN_飞龙
2024/05/24
4740
Pandas 2.2 中文官方教程和指南(二十·二)
Pandas数据结构:Series与DataFrame
在数据分析领域,Python 的 Pandas 库因其强大的数据操作功能而广受欢迎。Pandas 提供了两种主要的数据结构:Series 和 DataFrame。本文将从基础概念出发,逐步深入探讨这两种数据结构的使用方法、常见问题及解决方案。
Jimaks
2024/12/17
1710
相关推荐
破周三,前不着村后不着店的,只好学pandas了,你该这么学,No.9
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文