深入理解使用pandas的groupby与resample后索引的变换
一次使用groupby索引的变化
df = pd.DataFrame({"a":[1,1,2,2,3,3],"b":[1,2,3,4,5,6]})
last_df = df.groupby("a").mean()
print(df)
print(last_df)
out(1)a b0 1 11 1 22 2 33 2 44 3 55 3 6
out(2)b
a
1 1.5
2 3.5
3 5.5
如图所示,当我使用了一次groupby之后,原本的a列将会变为索引
一次使用resample之后列的变换
temp = []
for i in range(1,6):for j in range(20):temp.append(i)
def mean_rate(alist):if len(alist) < 15:return np.nanelse:return alist.sort_values(ascending=False)[:5].mean()
d = {'price': list(range(100)),'volume': list(range(100,200)),"a":temp}
df = pd.DataFrame(d)
df['week_starting'] = pd.date_range('01/01/2018',periods=100,freq='D')
print(df.resample("1M",on="week_starting").mean())
price volume a
week_starting
2018-01-31 15.0 115.0 1.354839
2018-02-28 44.5 144.5 2.678571
2018-03-31 74.0 174.0 4.290323
2018-04-30 94.5 194.5 5.000000
输出如图所示,会将week_starting当成索引。
如果同时使用groupby与resample将会发生什么呢
temp = []
for i in range(1,6):for j in range(20):temp.append(i)
def mean_rate(alist):if len(alist) < 15:return np.nanelse:return alist.sort_values(ascending=False)[:5].mean()
d = {'price': list(range(100)),'volume': list(range(100,200)),"a":temp}
df = pd.DataFrame(d)
df['week_starting'] = pd.date_range('01/01/2018',periods=100,freq='D')
df.groupby("a").resample("1M",on="week_starting").apply(mean_rate).loc[:,["price"]]
结果如图所示,连续使用groupby与resample之后将会生成双层索引。
并不用担心groupby生成的索引会消失。
深入理解使用pandas的groupby与resample后索引的变换相关推荐
- Pandas的时间序列数据-resample重采样(31)
在pandas里对时序的频率的调整称之重新采样,即从一个时频调整为另一个时频的操作,可以借助resample的函数来完成.有upsampling和downsampling(高频变低频)两种.resam ...
- 玩转 Pandas 的 Groupby 操作
作者:Lemon 来源:Python数据之道 玩转 Pandas 的 Groupby 操作 大家好,我是 Lemon,今天来跟大家分享下 pandas 中 groupby 的用法. Pandas 的 ...
- pandas之groupby分组与pivot_table透视
一.groupby 类似excel的数据透视表,一般是按照行进行分组,使用方法如下. df.groupby(by=None, axis=0, level=None, as_index=True, so ...
- Pandas数据分析—groupby分组统计
13.Pandas中groupby分组统计 文章目录 13.Pandas中groupby分组统计 前言 一.分组使用聚合函数做数据统计 1.准备数据 二.遍历groupby的结果理解执行流程 三.实例 ...
- pandas分组groupby(agg,transform),apply
快速浏览 pandas简单介绍和本文说明 一.SAC过程 二.groupby函数 1. groupby分组函数的基本内容 单/多列分组 组容量与组数 组的遍历 level参数(用于多级索引)和axis ...
- pandas使用groupby函数计算dataframe数据中每个分组的N个数值的指数权重移动(滚动)平均、例如,计算某公司的多个店铺每N天(5天)的滚动销售额指数权重移动(滚动)平均
pandas使用groupby函数计算dataframe数据中每个分组的N个数值的指数权重移动(滚动)平均(Exponential Moving Average).例如,计算某公司的多个店铺每N天(5 ...
- pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动最大值(rolling max)、例如,计算某公司的多个店铺每N天(5天)的滚动销售额最大值
pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动最大值(rolling max).例如,计算某公司的多个店铺每N天(5天)的滚动销售额最大值 目录
- pandas使用groupby函数计算dataframe每个分组对应的数据行的个数(size of each group in dataframe, rows count of group)
pandas使用groupby函数计算dataframe每个分组对应的数据行的个数(size of each group in dataframe, rows count of group) 目录
- pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动计数个数(rolling count)、例如,计算某公司的多个店铺每N天(5天)的滚动销售额计数个数
pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动计数个数(rolling count).例如,计算某公司的多个店铺每N天(5天)的滚动销售额计数个数 目录
最新文章
- 查看Mat对象的数据的三种方法
- python接口测试实战_Python接口测试实战5(下) - RESTful、Web Service及Mock Server
- SGML、HTML和XML之间的关系
- python如何计算字符宽度_Python中计算字符宽度
- 操作系统的运行机制和体系结构
- android7.0提示定位,解决android7.0上某些PopuWindow显示位置不正确的问题
- FastReport的动态页面设置
- python窗体处理access数据库_用Python操作MS Access数据库
- pdf 一键生成书签目录
- 问题九:C++中::是干嘛用的(域解析操作符)
- Tomcat下ajax请求路径总结
- 【视频目标检测数据集收集】B站、YouTube等各大网站视频下载工具:Annie(现更名为lux)的下载与安装教程
- Java 使用 throw 抛出异常
- 汽车芯片:缺货将诱发产业变革
- 越睡越累,原因竟然是这个!
- SEPIC电源基本电路分析
- 键盘记录工具(支持中文)
- Oracle学习篇章一——基础
- Keycloak Gatekeeper:Keycloak通用代理
- 如何将扫描PDF文件转换成word,两个超简单的方法一看就会