用日期时间索引对熊猫数据序列进行重采样
我对蟒蛇很陌生,我正在研究熊猫。我有一个包含日期、时间和其他列的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.97P是降水,而不是总为零,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值是正确的,但显示了一个间断线,尽管我有整个周期的测量值。他们长得像这样
请帮帮我!
发布于 2013-09-19 21:05:27
为什么不把Date和time作为单独的列,然后在Date上执行一个groupby并使用np.mean聚合每个组呢?这将产生一个仅由Date索引的结果,其中包含平均值。同样的方法可以用于按time分组,并在不同的日期取平均值,因此您可以很容易地看到所有15:00观测值的平均值。
df.groupby("Date").agg(np.mean) 可以忽略time列的平均值,也可以忽略该列。
https://stackoverflow.com/questions/18904758
复制相似问题