0

在熊猫中使用日期时间索引重新采样数据系列

我是 python 新手,我正在研究熊猫。我有一个 GW2test.csv 文件,其中包含日期、时间和其他列,每 30 分钟收集一次数据。我需要对每日平均值的数据进行重新采样。CVS 看起来像:

Date        time     P    P3W   P3W1      P2W
04/18/12    15:00   0   1.334           1.006
04/18/12    15:30   0   1.336           1.003
04/18/12    16:00   0   1.323           0.985
04/18/12    16:30   0   1.316           0.977
04/18/12    17:00   0   1.312  1.231    0.97

P 是降水,并不总是为零,P3W 有一些非测量值。我所做的是:

`

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

import pylab as pl

df = pd.read_csv('GW2test.csv', parse_dates=[['Date','time']])

f = pd.DataFrame(df, columns=[ 'Date_time','P','P3E','P1W1', 'P1W', 'P2W'])

f.describe()

df1 = df.set_index('Date_time')

Daily= df1.resample('D', how=np**.mean)

Sel = Daily.ix[0:,['P']]

Sel.plot()

Sel = Daily.ix[0:,['P3W1']]

Sel.plot()

`

到目前为止一切顺利,我的图显示 X 中的每日频率,但 Y 中的值是错误的。降水量应该高达 140,它只上升到 3.5(作为 30 分钟值),我的 P3W 值是正确的,但显示出一条不连续的线,尽管我在整个期间都有测量值。他们看起来像这样

请帮忙!

4

1 回答 1

0

为什么不将Datetime作为单独的列,然后只使用 执行groupbyDate聚合每个组np.mean?这将产生一个仅通过Date包含平均值索引的结果。并且可以使用相同的方法对time日期进行分组并取平均值,例如,您可以轻松查看所有15:00观察值的平均值。

df.groupby("Date").agg(np.mean) 

可以忽略该列的平均值,time也可以忽略该列。

于 2013-09-19T21:05:27.310 回答