文档章节

Pandas 分组groupby

C
 Claroja
发布于 2017/05/08 23:22
字数 276
阅读 10
收藏 0

创建测试数据框

import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3, 4], 'b': [5, 6, 7,8],'c': ['x', 'y', 'x','y'],'d':["one","two","three","two"]})
print(df)
   a  b  c    d
0  1  5  x  one
1  2  6  y  two
2  3  7  x  three
3  4  8  y  two

计算以c列分组的,每组的平均值,非数值列将会被自动忽略

print(df.groupby(df["c"]).mean())
   a  b
c      
x  2  6
y  3  7

多列分组

gb=df.groupby([df["c"],df["d"]])
print(gb)
<pandas.core.groupby.DataFrameGroupBy object at 0x0000000004A1DEB8>#groupby存储的是分组信息,而不是分组的数据
for i,j in gb:
 print(i)
 print('-----------')
 print(j)
('x', 'one') -----------
 a b c d
0  1  5  x  one
('x', 'three') -----------
 a b c d
2  3  7  x  three
('y', 'two') -----------
 a b c d
1  2  6  y  two
3  4  8  y  two

聚合函数agg()

print(df.groupby(df["c"]).agg(['min','max']))
    a       b        d       
  min max min max  min    max
c                            
x   1   3   5   7  one  three
y   2   4   6   8  two    two

将结果返回到数据框transform

print(df.groupby('c').transform('mean'))
   a  b
0  2  6
1  3  7
2  2  6
3  3  7

数据透视表

table =pd.pivot_table(df, values='a', index=['c'],columns=['d'], aggfunc=np.sum)
d  one  three  two
c                 
x  1.0    3.0  NaN
y  NaN    NaN  6.0

© 著作权归作者所有

共有 人打赏支持
C
粉丝 0
博文 128
码字总数 44892
作品 0
南京
Pandas系列6-DataFrame的分组与聚合

在对数据进行处理的时候,分组与聚合是非常常用的操作。在Pandas中此类操作主要是通过groupby函数来完成的。 先看一个实际的例子: 通过groupby函数生成一个groupby对象,如下: 整个分组统计...

geekpy
07/23
0
0
数据聚合与分组运算——GroupBy

pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片、切块、摘要等操作。 根据一个或多个键(可以是函数、数组或DataFrame列名)拆分pandas对象。 计算分组摘...

Betty__
2016/10/03
92
0
通过partial构造Pandas分组规则

Pandas通常可以用groupby来对某一列进行分组,例如: df = pd.read_csv("sugars.csv",header=None)df.columns=["time","pop"] 分组groupby(字段名)则直接对其进行分组 df.groupby("pop").co...

Kanonpy
2015/12/01
120
0
Pandas 0.20.1 发布,Python 数据分析工具包

Pandas 是一个以 BSD 许可开源的库,为 Python 编程语言提供了高性能、易于使用的数据结构和数据分析工具。 Pandas 0.20.1 是自 0.19.2 以来的又一个主要版本,包括许多 API 更改、弃用,新特...

王练
2017/05/09
917
0
利用Python分析学校四六级过关情况。

这段时间看了数据分析方面的内容,对Python中的numpy和pandas有了最基础的了解。我知道如果我不用这些技能做些什么的话,很快我就会忘记。想起之前群里发过一个学校的四六级成绩表,正好可以...

Leafage_M
2017/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python标准输入输出

input() 读取键盘输入 input() 函数从标准输入读入一行文本,默认的标准输入是键盘。 input 可以接收一个Python表达式作为输入,并将运算结果返回。 print()和format()输出 format()输出...

colinux
22分钟前
0
0
Python 核心编程 (全)

浅拷贝和深拷贝 1.浅拷贝:是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容。相当于把变量里面指向的一个地址给了另一个变量就是浅拷贝,而没有创建一个新的对象,如a...

代码打碟手
35分钟前
0
0
PHP 对象比数组省内存?错!数组比对象省内存?错!

刚刚一个群里有人引出了 PHP 数组和对象占用内存谁多谁少的问题。我想起之前我好像也测试过这个问题,和群里人说的对象比数组节省内存的结论相反,我得出的是数组比对象节省内存。 但今天,我...

宇润
51分钟前
1
0
memcached命令行及其用法

21.5 memcached命令行 创建数据 yum install -y telnet 利用telnet命令连接memcached数据库 telnet 127.0.0.1 11211 #写入数据 set key2 0 30 212STORED 这个是错误的示范,因为0 30 已经...

lyy549745
51分钟前
0
0
Maven私服

Maven私服 一、简介 当多人项目开发的时候,尤其聚合项目开发,项目和项目之间需要有依赖关系,通过maven私服,可以保存互相依赖的jar包,这样的话就可把多个项目整合到一起。 如下图: Inst...

星汉
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部