pandas-resample按时间聚合实例

yipeiwu_com6年前Python基础

如下所示:

import pandas as pd

#如果需要的话,需将df中的date列转为datetime

df.date = pd.to_datetime(df.date,format="%Y%m%d")

#将改好格式的date列,设置为df的index

df.set_index('date',drop=True)


#按年来提数据 (因为此时的datetime已经为index了,可以直接[]取行内容)

df['2018']

df['2018':'2021']

#按月来提数据

df['2018-01']

df['2018-01':'2018-05']

#按天来提出数据

df['2018-05-24':'2018-09-27']


#按日期汇总数据

#将数据以W星期,M月,Q季度,QS季度的开始第一天开始,A年,10A十年,10AS十年聚合日期第一天开始.的形式进行聚合

df.resample('W').sum()

df.resample('M').sum()


#具体某列的数据聚合

df.price.resample('W').sum().fillna(0) #星期聚合,以0填充NaN值

#某两列

df[['price','num']].resample('W').sum().fillna(0)

#某个时间段内,以W聚合,

df["2018-5":"2018-9"].resample("M").sum().fillna(0)

还有以下方式聚合

以上这篇pandas-resample按时间聚合实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python高级用法总结

列表推导(list comprehensions) 场景1:将一个三维列表中所有一维数据为a的元素合并,组成新的二维列表。 最简单的方法:新建列表,遍历原三维列表,判断一维数据是否为a,...

Python中的列表生成式与生成器学习教程

列表生成式 即创建列表的方式,最笨的方法就是写循环逐个生成,前面也介绍过可以使用range()函数来生成,不过只能生成线性列表,下面看看更为高级的生成方式: >>>...

python实现超简单端口转发的方法

本文实例讲述了python实现超简单端口转发的方法。分享给大家供大家参考。具体如下: 代码非常简单,实现了简单的端口数据转发功能,用于真实环境还需要再修改一下。 复制代码 代码如下:#t...

用django设置session过期时间的方法解析

session的超时时间设置 settings中 SESSION_COOKIE_AGE=60*30 30分钟。 SESSION_EXPIRE_AT_BROWSER_CLOSE...

Python实现识别手写数字大纲

写在前面 其实我之前写过一个简单的识别手写数字的程序,但是因为逻辑比较简单,而且要求比较严苛,是在50x50大小像素的白底图上手写黑色数字,并且给的训练材料也不够多,导致准确率只能五五开...