pandas之groupby分组与pivot_table透视表
zhuanzi: https://blog.csdn.net/qq_33689414/article/details/78973267
pandas之groupby分组与pivot_table透视表
在使用pandas
进行数据分析时,避免不了使用groupby
来对数据进行分组运算。
groupby的参数
groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)
by:mapping, function, str, or iterable。
用于确定groupby的组。如果by是一个函数,那么会调用对象索引的每个值。如果传递了一个dict或Series,则将使用Series或dict的值来确定组。一个str或者一个strs列表可以通过自己的列传递给group。
axis:轴,int值,默认为0
level:如果axis是一个MultiIndex(分层),则按特定的级别分组。int值,默认为None
as_index:对于聚合输出,返回带有组标签的对象作为索引。
as_index=False
实际上是“SQL风格”分组输出,boolean值,默认为True。sort:排序。关闭此功能以获得更好的性能。boolean值,默认True。
group_keys:当调用apply时,添加group key来索引来识别片断。boolean值,默认True。
squeeze:尽可能减少返回类型的维度,否则返回一致的类型。boolean值,默认False。
groupby的聚合函数
groupby的聚合函数有:
函数名 | 说明 |
---|---|
count | 分组中非NA值的数量 |
sum | 非NA值的和 |
mean | 非NA值的平均值 |
median | 非NA值的算术中位数 |
std、var | 无偏(分母为n-1)标准差和方差 |
min、max | 非NA值的最小值和最大值 |
prod | 非NA值的积 |
first、last | 第一个或最后一个非NA值 |
groupby示例
groupby的测试数据:
https://github.com/zhang3550545/resource/blob/master/raw/groupby_test.csv
- 读取groupby_test.csv文件中的数据,输处文件内容。
if __name__ == '__main__':
data = pd.read_csv('groupby_test.csv')
print(data[:10])
- groupby函数,对区域字段进行分组,对总价求平均值。
results = data.groupby(['区域'])['总价']
print(results) # 输出:<pandas.core.groupby.SeriesGroupBy object at 0x0000023D2AA02EF0>
print(results.mean())
- groupby函数,对区域字段进行分组,对面积求和。
results = data.groupby(['区域'])['面积'].sum()
print(results)
- groupby函数,对区域字段进行分组,对区域计算count。
results = data.groupby(data['区域'], sort=False)['区域'].count()
print(results)
- groupby函数,对区域字段进行分组,求总价,单价,面积的平均值。
results = data.groupby(['区域'])['总价', '单价', '面积'].mean()
print(results)
- groupby函数,对区域,版块2个字段进行分组,求单价的平均值。
results = data.groupby(['区域', '版块'])['单价'].mean()
print(results)
pivot_table透视表
使用pivot_table透视表实现groupby的功能
results = pd.pivot_table(data, index=['区域', '版块'], values=['单价'])
print(results)
pandas之groupby分组与pivot_table透视表的更多相关文章
- pandas之groupby分组与pivot_table透视
一.groupby 类似excel的数据透视表,一般是按照行进行分组,使用方法如下. df.groupby(by=None, axis=0, level=None, as_index=True, so ...
- pandas获取groupby分组里最大值所在的行,获取第一个等操作
pandas获取groupby分组里最大值所在的行 10/May 2016 python pandas pandas获取groupby分组里最大值所在的行 如下面这个DataFrame,按照Mt分组, ...
- pandas实现excel中的数据透视表和Vlookup函数功能
在孩子王实习中做的一个小工作,方便整理数据. 目前这几行代码是实现了一个数据透视表和匹配的功能,但是将做好的结果写入了不同的excel中, 如何实现将结果连续保存到同一个Excel的同一个工作表中?还 ...
- pandas-10 pd.pivot_table()透视表功能
pandas-10 pd.pivot_table()透视表功能 和excel一样,pandas也有一个透视表的功能,具体demo如下: import numpy as np import pandas ...
- Pandas之groupby分组
释义 groupby用来分组,调用groupby 之后返回pandas.core.groupby.generic.DataFrameGroupBy,其实就是由一个个格式为(key, 分组后的dataf ...
- 04. Pandas 3| 数值计算与统计、合并连接去重分组透视表文件读取
1.数值计算和统计基础 常用数学.统计方法 数值计算和统计基础 基本参数:axis.skipna df.mean(axis=1,skipna=False) -->> axis=1是按行来 ...
- Pandas透视表(pivot_table)详解
介绍 也许大多数人都有在Excel中使用数据透视表的经历,其实Pandas也提供了一个类似的功能,名为pivot_table.虽然pivot_table非常有用,但是我发现为了格式化输出我所需要的内容 ...
- 小白学 Python 数据分析(12):Pandas (十一)数据透视表(pivot_table)
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- Python中pandas透视表pivot_table功能详解(非常简单易懂)
一文看懂pandas的透视表pivot_table 一.概述 1.1 什么是透视表? 透视表是一种可以对数据动态排布并且分类汇总的表格格式.或许大多数人都在Excel使用过数据透视表,也体会到它的强大 ...
随机推荐
- 零基础学python-5.1 数字简单介绍
1.创建数值对象并赋值 a=1#整数 b=1.1#浮点数 c=1.23e5#实数 d=1.23+4.56j#虚数 2.更新数值对象 注意:由于数值对象是不可变,所以与其说更新,还不如说把变量名从一个对 ...
- 基于Cocos2dx + box2d 实现的愤慨的小鸟Demo
1. Demo初始界面 2. 游戏界面 3. 精确碰撞检測 4. 下载 压缩文件文件夹 AngryBird source 愤慨的小鸟Demo源码,基于Cocos2dx C++,以及box2d技 ...
- 【bzoj4401】块的计数
首先,块的大小确定的话,可以发现方案最多只有1种 然后就可以O(nsqrt(n))搞,不过会TLE 接着我们又发现,一个节点可以作一个块的根,当且仅当该节点的size能被块的大小整除 然后就可以O(n ...
- CXF 中自定义SOAPHeader
Interceptor是CXF架构中一个很有特色的模式.你可以在不对核心模块进行修改的情况下,动态添加很多功能.这对于CXF这个以处理消息为中心的服务框架来说是非常有用的,CXF通过在Intercep ...
- HDU1024 Max Sum Plus Plus —— DP + 滚动数组
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=1024 Max Sum Plus Plus Time Limit: 2000/1000 MS ...
- lucene segment会包含所有的索引文件,如tim tip等,可以认为是mini的独立索引
A Lucene index segment can be viewed as a "mini" index or a shard. Each segment is a colle ...
- BZOJ3282:Tree(TCL基础题)
给定N个点以及每个点的权值,要你处理接下来的M个操作. 操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和. 保证x到y是联通的. ...
- Ubuntu midi 播放
One of the simplest methods to play a midi file in Ubuntu is to install timidity. sudo apt-get insta ...
- Mysql数据库介绍、安装和配置文件
Mysql数据库介绍.安装和配置文件 MySQL数据库介绍 mysql是开源关系型数据库,遵循GPL协议. mysql的特点是性能卓越且服务稳定,开源,无版本限制,成本低,单进程多线程,多用户,基于C ...
- ES6躬行记(23)——Promise的静态方法和应用
一.静态方法 Promise有四个静态方法,分别是resolve().reject().all()和race(),本节将着重分析这几个方法的功能和特点. 1)Promise.resolve() 此方法 ...