文档章节

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
2018/07/23
0
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
数据聚合与分组运算——GroupBy

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

Betty__
2016/10/03
92
0
Pandas GroupBy的使用

任何groupby操作都会涉及到下面的三个操作之一: Splitting:分割数据 Applying:应用一个函数 Combining:合并结果 在许多情况下,我们将数据分成几组,并在每个子集上应用一些功能。在应用中...

致Great
2018/11/07
0
0
Pandas 0.20.1 发布,Python 数据分析工具包

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

王练
2017/05/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

sql根据日期查询,本周,本月,本年,今日相关统计

sql根据日期查询,本周,本月,本年,今日相关统计 昨天 select * from tb where datediff(day, 时间字段 ,getdate()) = 1 今天 select * from tb where datediff(day, 时间字段 ,getdate()) = ...

BraveLN
20分钟前
2
0
Delphi 折叠代码编译变量$REGION

编译变量$REGION,用于在delphi2006以后版本的折叠代码显示,非常方便。 procedure TForm1.Button1Click(Sender: TObject); var uStr: UnicodeString; begin {$REGION '显示uStr变量内容'} ......

dillonxiao
21分钟前
1
0
【更新】SyntaxEditor发布v2018.1,可共享相同代码库

SyntaxEditor最新版本下载 SyntaxEditor是一款强大的代码语法检验控件,采用了当今最前沿的代码编辑的技术,可以为你代码编辑提供强大的管理功能。最新版支持Visual Studio 2013和Windows 8...

电池盒
22分钟前
1
0
如何在基于Bytom开发过程中集成IPFS

本文介绍了基于Bytom开发过程中集成IPFS。 step1: 搭建bytom节点 比原相关资料:https://github.com/Bytom-Community/Bytom_Docs 搭建bytom节点有很多方式,然后开启RPC调用模式。这里推荐用...

比原链Bytom
26分钟前
0
0
sqlyog注册码

sqlyog注册码 1.方式一 用户名: 随意填写 秘钥: ccbfc13e-c31d-42ce-8939-3c7e63ed5417 a56ea5da-f30b-4fb1-8a05-95f346a9b20b a0fe8645-3916-45d4-9976-cb6b88fecc6c b70d7f66-dac2-4462-......

dragon_tech
29分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部