pandasgroupby用法讲解,groupby函数
本文主要介绍了熊猫中pd.groupby()的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧溴
在熊猫中的分组和在结构化查询语言语句中的分组有异曲同工之妙,不过也难怪,毕竟关系数据库中的存放数据的结构也是一张大表罢了,与数据帧的形式相似。
将数组作为铭牌导入
进口熊猫作为螺纹中径
来自熊猫进口系列,数据框架
df=pd.read_csv( ./城市天气。CSV’)
打印(df)
日期城市温度风
2016年一月3日贝宁
2016年一月17日贝宁
2016年一月31日贝宁
2016年2月14日贝宁
2016年2月28日贝宁
2016年3月13日贝宁
2016年3月27日
2016年四月七日第19页3
2016年四月24日第20页3
2016年5月9日第17页3
2016年5月22日第四季第二集
2016年6月11日
2016年6月19日第0 5页
2016年七月13日
2016年七月17日地面零点
2016年七月31日地面零点
2016年8月14日地面零点
2016年8月28日地面零点
2016年9月18日深圳201
2016年9月25日
g=df.groupby(df[city])
#熊猫。核心。分组依据。分组依据。数据框分组依据对象位于0x7f10450e12e8
打印(g。组)
# {BJ: Int64Index([0,1,2,3,4,5],dtype=int64 ),
# GZ: Int64Index([14,15,16,17],dtype=int64 ),
# SZ: Int64Index([18,19],dtype=int64 ),
# SH: Int64Index([6,7,8,9,10,11,12,13],dtype=int64)}
打印(g . size())g . size()可以统计每个组成员的数量
城市
BJ 6
GZ 4
上海8
SZ 2
dtype: int64
print(g.get_group(BJ)) #得到某个分组
日期城市温度风
2016年一月3日贝宁
2016年一月17日贝宁
2016年一月31日贝宁
2016年2月14日贝宁
2016年2月28日贝宁
2016年3月13日贝宁
df_bj=g.get_group(BJ )
print(df_bj.mean()) #对这个分组求平均
温度10.000000
风2.833333
数据类型:浮点64
# 直接使用g对象,求平均值
print(g.mean()) #对每一个分组,都计算分组
温度风
城市
贝宁
10.000 2.833333
GZ 8.750 4.000000
SH 4.625 3.625000
SZ 5.000 2.500000
print(g.max())
date temperature wind
city
BJ 31/01/2016 19 5
GZ 31/07/2016 25 5
SH 27/03/2016 20 5
SZ 25/09/2016 20 4
print(g.min())
date temperature wind
city
BJ 03/01/2016 -3 2
GZ 14/08/2016 -1 2
SH 03/07/2016 -10 2
SZ 11/09/2016 -10 1
# g 对象还可以使用 for 进行循环遍历
for name, group in g:
print(name)
print(group)
# g 可以转化为 list类型, dict类型
print(list(g)) # 元组第一个元素是 分组的label,第二个是dataframe
[(BJ, date city temperature wind
0 03/01/2016 BJ 8 5
1 17/01/2016 BJ 12 2
2 31/01/2016 BJ 19 2
3 14/02/2016 BJ -3 3
4 28/02/2016 BJ 19 2
5 13/03/2016 BJ 5 3),
(GZ, date city temperature wind
14 17/07/2016 GZ 10 2
15 31/07/2016 GZ -1 5
16 14/08/2016 GZ 1 5
17 28/08/2016 GZ 25 4),
(SH, date city temperature wind
6 27/03/2016 SH -4 4
7 10/04/2016 SH 19 3
8 24/04/2016 SH 20 3
9 08/05/2016 SH 17 3
10 22/05/2016 SH 4 2
11 05/06/2016 SH -10 4
12 19/06/2016 SH 0 5
13 03/07/2016 SH -9 5),
(SZ, date city temperature wind
18 11/09/2016 SZ 20 1
19 25/09/2016 SZ -10 4)]
print(dict(list(g))) # 返回键值对,值的类型是 dataframe
{SH: date city temperature wind
6 27/03/2016 SH -4 4
7 10/04/2016 SH 19 3
8 24/04/2016 SH 20 3
9 08/05/2016 SH 17 3
10 22/05/2016 SH 4 2
11 05/06/2016 SH -10 4
12 19/06/2016 SH 0 5
13 03/07/2016 SH -9 5,
SZ: date city temperature wind
18 11/09/2016 SZ 20 1
19 25/09/2016 SZ -10 4,
GZ: date city temperature wind
14 17/07/2016 GZ 10 2
15 31/07/2016 GZ -1 5
16 14/08/2016 GZ 1 5
17 28/08/2016 GZ 25 4,
BJ: date city temperature wind
0 03/01/2016 BJ 8 5
1 17/01/2016 BJ 12 2
2 31/01/2016 BJ 19 2
3 14/02/2016 BJ -3 3
4 28/02/2016 BJ 19 2
5 13/03/2016 BJ 5 3}
到此这篇关于pandas中pd.groupby()的用法详解的文章就介绍到这了,更多相关pandas pd.groupby()内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。