python库学习笔记——分组计算利器:pandas中的groupby技术
来源:互联网 发布:网络电话机哪个牌子好 编辑:程序博客网 时间:2024/06/07 06:47
最近处理数据需要分组计算,又用到了groupby函数,温故而知新。
分组运算的第一阶段,pandas 对象(无论是 Series、DataFrame 还是其他的)中的数据会根据你所提供的一个或多个键被拆分(split)为多组。拆分操作是在对象的特定轴上执行的。例如,DataFrame 可以在其行(axis=0)或列(axis=1)上进行分组。然后,将一个函数应用到各个分组并产生一个新值。最后,所有这些函数的执行结果会被合并到最终的结果对象中。结果对象的形式一般取决于数据上所执行的操作。
举例说明,生成随机DataFrame数据
输入
df = DataFrame({'key1':['a','a','b','b','a'], 'key2':['one','two','one','two','one'], 'data1':np.random.randn(5), 'data2':np.random.randn(5)})输出df
假设我们想要按 key1 进行分组,并计算 data1 列的平均值。
输入
df['data1'].groupby(df['key1']).mean() or df.groupby('key1')['data1'].mean()输出
key1a 0.310092b -0.785952Name: data1, dtype: float64
输入
df['data1'].groupby([df['key1'],df['key2']]).mean() or df.groupby(['key1','key2'])[['data1']].mean()输出
key1 key2a one -0.078753 two 1.087782b one -1.346429 two -0.225475Name: data1, dtype: float64
另外,我们可以对分组进行迭代,以多重键为例:
输入
for name,group in df.groupby('key1'): print (name) print (group)输出
a data1 data2 key1 key20 0.033971 0.066088 a one1 1.087782 -0.095748 a two4 -0.191477 -0.057805 a oneb data1 data2 key1 key22 -1.346429 0.648059 b one3 -0.225475 1.440988 b two
阅读全文
0 0
- python库学习笔记——分组计算利器:pandas中的groupby技术
- python科学计算笔记(六)pandas 分组groupby
- Python中的分组分析groupby
- python学习笔记--groupby
- Python中的分组函数(groupby、itertools)
- Python中的分组函数(groupby、itertools)
- 数据聚合与分组运算——GroupBy技术(1)
- pandas聚合和分组运算之groupby
- Pandas GroupBy 分组(分割-应用-组合)
- pandas聚合和分组运算之groupby
- pandas聚合和分组运算之groupby
- python/pandas数据挖掘(十四)-groupby,聚合,分组级运算
- pandas中的groupby函数的分组结果怎么保存成DataFrame
- python pandas学习笔记
- [进阶]MySQL学习笔记九分组函数GroupBy
- Python数据分析利器——pandas简单教学
- python pandas库的学习笔记一pandas的数据结构
- python pandas库的学习笔记二pandas的基本功能
- 20个非常有用的Java程序片段
- 作业2
- HDU
- MySQL GROUP BY 分组语句整理
- Leetcode-Search a 2D Matrix
- python库学习笔记——分组计算利器:pandas中的groupby技术
- JVM调优总结(4):分代垃圾回收
- ${pageContext.request.contextPath} JSP取得绝对路径
- Flash Socket网络通信
- 基于java的Spring容器配置(二)(@Configuration,@Bean,@Import,@ImportSource)
- PAT乙级1003
- 用proteus来看二极管的压降
- Flash中的XML
- [UVA