利用pandas按日期做分组运算操作代码

作者:袖梨 2022-06-25

本篇文章小编给大家分享一下利用pandas按日期做分组运算操作代码,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

原始数据

TS PERIOD REQUEST STEPPED VALUE STATUS SECONDS
20-DEC-16 00:00:00.0 600 1 0  2.018 0 1482163200
20-DEC-16 00:01:00.0 600 1 0  2.019 0 1482163260
20-DEC-16 00:02:00.0 600 1 0  2.019 0 1482163320
20-DEC-16 00:03:00.0 600 1 0  2.019 0 1482163380
20-DEC-16 00:04:00.0 600 1 0  2.019 0 1482163440
20-DEC-16 00:05:00.0 600 1 0  2.020 0 1482163500
20-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 np
from pandas import DataFrame, Series
import pandas as pd
from 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')

相关文章

精彩推荐