pandas实现按照Series分组示例
本文用到的表格内容如下:
先来看一下数据情形
import pandas as pd life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx') print(life_df)
result:
分类 编号 名称
0 水果 0 苹果
1 水果 1 橙子
2 生活用品 2 牙刷
3 生活用品 3 冰箱
4 生活用品 4 电视机
5 食物 0 苹果
6 食物 1 橙子
7 家电 3 冰箱
8 家电 4 电视机
9 大件 3 冰箱
10 大件 4 电视机
11 大件 5 茶几
12 生活用品 7 暖手宝宝
13 小说 8 红楼梦
将DataFrame的其中一列取出来就是一个Series,比如life_df["分类"]就是一个Series
1 按照一个Series进行分组
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx') print(life_df.groupby(life_df["分类"]))
result:
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001506806C6C8>
从上面的结果可以看出,如果只是传入Series,分组后的结果是一个DataFrameGroupBy对象。这个对象包含着分组以后的若干组数据,但是没有直接显示出来,需要对这些分组数据进行汇总计算以后才会显示出来
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx') print(life_df.groupby(life_df["分类"]).count())
result:
编号 名称
分类
大件 3 3
家电 2 2
小说 1 1
水果 2 2
生活用品 4 4
食物 2 2
上面的代码是根据物品分类对所有数据进行了分组,然后对分组以后的数据分别进行计数运算,最后进行合并。
由于对分组后的数据进行了计数运算,因此每一列都会有一个结果。但是如果对分组后的结果做一些数值运算,这个时候只有数据类型是数值(int、float)的列才会参与运算
import pandas as pd life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx') print(life_df.groupby(life_df["分类"]).sum())
result:
编号
分类
大件 12
家电 7
小说 8
水果 1
生活用品 16
食物 1
我们把这种对分组后的数据进行汇总运算的操作称为聚合,使用的函数称为聚合函数。比如前面系列文章提高的非空值计数、sum求和、最大值最小值、均值、中位数、众数、方差、标准差和分位数这些。都属于聚合函数。
2 按照多个Series进行分组
多Series分组和单Series分组差不多,只要将多个Series以列表的形式传递给groupby()即可。
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx') print(life_df.groupby([life_df["分类"], life_df["名称"]]).count())
result:
编号
分类 名称
大件 冰箱 1
电视机 1
茶几 1
家电 冰箱 1
电视机 1
小说 红楼梦 1
水果 橙子 1
苹果 1
生活用品 冰箱 1
暖手宝宝 1
牙刷 1
电视机 1
食物 橙子 1
苹果 1
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx') print(life_df.groupby([life_df["分类"], life_df["名称"]]).sum())
result:
编号
分类 名称
大件 冰箱 3
电视机 4
茶几 5
家电 冰箱 3
电视机 4
小说 红楼梦 8
水果 橙子 1
苹果 0
生活用品 冰箱 3
暖手宝宝 7
牙刷 2
电视机 4
食物 橙子 1
苹果 0
3 分组和聚合采用不同的列或Series进行
这里和按列分组的用法一致
life_df = pd.read_excel(r'C:\Users\admin\Desktop\生活用品表.xlsx') print(life_df.groupby(life_df["分类"])["名称"].count())
result:
分类
大件 3
家电 2
小说 1
水果 2
生活用品 4
食物 2
Name: 名称, dtype: int64
这里就是按照物品分类进行分组,再按照物品名称进行汇总统计
到此这篇关于pandas实现按照Series分组示例的文章就介绍到这了,更多相关pandas Series分组内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!
相关文章
pandas pd.read_csv()函数中parse_dates()参数的用法说明
这篇文章主要介绍了pandas pd.read_csv()函数中parse_dates()参数的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-05- 今天小编就为大家分享一篇Pandas实现DataFrame按行求百分数(比例数),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-09
- 本文主要介绍了python使用pandas按照行数分割表格,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-13
- 这篇文章主要介绍了解决python3安装pandas出错的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-05-20
- 比较操作是很简单的基础知识,不过Pandas中的比较操作有一些特殊的点,本文介绍的非常详细,对正在学习python的小伙伴们很有帮助.需要的朋友可以参考下...2021-05-20
- 这篇文章主要介绍了用pandas划分数据集实现训练集和测试集,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-20
- 这篇文章主要介绍了pandas 实现将两列中的较大值组成新的一列,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-26
- pandas 读取excel文件使用的是 read_excel方法。本文将详细解析read_excel方法的常用参数,以及实际的使用示例,感兴趣的朋友跟随小编一起看看吧...2021-11-01
解决python pandas读取excel中多个不同sheet表格存在的问题
这篇文章主要介绍了解决python pandas读取excel中多个不同sheet表格存在的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-14- 这篇文章主要介绍了R语言实现按照某一列分组求均值的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
- 笔者最近正在学习Pandas数据分析,将自己的学习笔记做成一套系列文章。本节主要记录Pandas中使用stack和pivot实现数据透视。感兴趣的小伙伴们可以参考一下...2021-09-05
- PHP是现在很多用户使用的软件,用途很多并且有很大的作用。今天文章就给大家介绍个实例:PHP怎么实现根据数组的值进行分组,感兴趣的赶紧来看看。 本文实例讲述了PHP实...2017-07-06
- 这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-28
Pandas.DataFrame转置的实现 <font color=red>原创</font>
这篇文章主要介绍了Pandas.DataFrame转置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-09- 这篇文章主要介绍了pandas 实现某一列分组,其他列合并成list的案例。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-26
- 这篇文章主要介绍了Java在Excel中创建多级分组、折叠或展开分组的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-28
- 今天给大家带来的是关于Python的相关知识,文章围绕着Pandas常用函数方法展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下...2021-06-16
- 这篇文章主要介绍了python 用pandas实现数据透视表功能的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下...2020-12-21
- 今天小编就为大家分享一篇Pandas 解决dataframe的一列进行向下顺移问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-09
- 这篇文章主要介绍了基于pandas向csv添加新的行和列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-26