利用PANDAS按日期做分组运算

来源:互联网 发布:淘宝旺铺智能版好用吗 编辑:程序博客网 时间:2024/06/13 05:53

原始数据


TS  PERIOD  REQUEST STEPPED VALUE   STATUS  SECONDS20-DEC-16 00:00:00.0    600 1   0        2.018  0   148216320020-DEC-16 00:01:00.0    600 1   0        2.019  0   148216326020-DEC-16 00:02:00.0    600 1   0        2.019  0   148216332020-DEC-16 00:03:00.0    600 1   0        2.019  0   148216338020-DEC-16 00:04:00.0    600 1   0        2.019  0   148216344020-DEC-16 00:05:00.0    600 1   0        2.020  0   148216350020-DEC-16 00:06:00.0    600 1   0        2.020  0   1482163560

我们的目标是把TS列从
20-DEC-16 00:00:00.0
转变为
20-DEC-16
的格式,然后按天取均值。

导入包


import numpy as npfrom pandas import DataFrame, Seriesimport pandas as pdfrom datetime import datetime

读入文件


df = pd.read_csv('data/test.txt',sep='\t')

这里没有解决中文路径名和绝对路径的问题.

转化为数据框


df = DataFrame(df)

转化为时间格式


将TS列转化为时间格式,并保存为新的一列DATE,之后,只留下DATE和VALUE两列,其他统统不要。

df['DATE'] = pd.to_datetime(df['TS'])df = df[['DATE','VALUE']]

关键一步


把形如‘2017-9-4 00:00:00’转化为‘2017-9-4 ’

df['DATE'] = [datetime.strftime(x,'%Y-%m-%d') for x in df['DATE']]

strftime有若干参数,其中Y表示四位数的年,m表示两位数的月。

旋转数据框


df =df.pivot_table(index='DATE',aggfunc='mean')
原创粉丝点击