pandas 分组统计,pandas分组函数只有一个groupby吗
本文主要介绍熊猫通过分组统计实现分组的实践。通过实例代码详细介绍,具有一定的参考价值。感兴趣的朋友可以参考一下。
00-1010 1.创建数据和导入包2。在组中使用聚合函数进行数据统计3。遍历groupby的结果,了解执行过程4。通过示例分组探索天气数据。类似于SQL:
从city_weather group by city中选择city,max(temperature);
Groupby:首先对数据进行分组,然后对每组应用聚合函数和转换函数。
本次演示:
首先,使用聚合函数进行分组数据统计。
其次,遍历groupby的结果,了解执行过程。
第三,在示例组中探索天气数据
目录
进口熊猫作为pd
将numpy作为np导入
#加上这句话,就可以在jupyter笔记本里显示matplot图表了。
%matplotlib内联
df=pd。DataFrame({A: [foo , bar , foo , bar , foo , bar , foo , foo],
B: [一,一,二,三,二,二,一,三],
C: np.random.randn(8),
D: np.random.randn(8)})
1、创建数据和导入包
1.单列groupby,查询所有数据列的统计信息。
df.groupby(A )。总和()
groupby中的“A”成为数据的索引列。
因为计算了总和,但是B列不是数字,所以自动忽略。
2.groupby multiple columns查询所有数据列的统计信息。
df.groupby([A , B])。平均值()
我们看到:( A , B )对成为二级索引。
Df.groupby ([a , b],as _ index=false)。Mean () #这将防止A列和B列成为二级索引。
3.同时查看各种数据统计。
df列。groupby (a )。agg ([np.sum,np.mean,np.std]) #成为多级索引。
4.检查单列结果数据的统计。
#方法1:预过滤提高性能
df.groupby(A)[C]。agg([np.sum,np.mean,np.std])
#方法2
df.groupby(A )。agg([np.sum,np.mean,np.std])[C]
5.不同的列使用不同的聚合函数。
df.groupby(A )。agg({C:np.sum, D:np.mean})
2、分组使用聚合函数做数据统计
for循环可以直接遍历每个组。
1.遍历单列聚合的分组。
g=df.groupby(A )
对于名称,在g:中分组
打印(姓名)
打印(组)
可以获取单个组的数据。
g.get_group(bar )
2.遍历由多个列聚合的组。
g=df.groupby([A , B])
对于名称,在g:中分组
打印(姓名)
打印(组)
打印()
Name是一个包含2个元素的元组,表示不同的列。
G.get_group((foo , one))#可以获取单个组的数据。
可以直接查询组后的一些列,生成系列或子数据帧。
g[C]
对于名称,g[C]:中的组
打印(姓名)
打印(组)
打印(类型(组))
打印()
实际上,所有的聚集统计都是在数据帧和序列上进行的。
3、遍历groupby的结果理解执行流程
fpath=。/datas/北京_天齐/北京_天齐_2018.csv
df=pd.read_csv(fpath)
#替换温度的后缀。
df.loc[: bWendu ]=df[ bWendu ]. str . replace(, )。astype(int32 )
df.loc[: y wendu ]=df[ y wendu ]. str . replace(, )。astype(int32 )
df.head()
#添加一个新列作为月份。
df[月]=df[ymd]。str[:7]
df.head()
1.检查每个月的最高温度。
data=df . group by( month )[ bWendu ]。最大()
数据
Data.plot()#绘图
2.查看每个月的最高温度、最低温度和平均空气质量指数。
group_data=df.groupby(month )。agg({bWendu:np.max, yWendu:np.min, aqi:np.mean})
group_data.plot()
关于熊猫通过分组统计实现分组的做法的这篇文章就到此为止。有关Pandas groupby分组统计的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。