【发布时间】:2014-02-05 20:33:17
【问题描述】:
As in this question 我已经问过了,这次我试着做同样的计数,但每天都做。所以我希望这次计算一下在星期一设置了多少次一周的较低值,在星期二设置了多少次等,并获得一周中 7 天的汇总计数 获取这样的日期和值列表:
2013.01.01,00:00,1.31802
2013.01.02,00:00,1.32038
2013.01.03,00:00,1.31859
2013.01.04,00:00,1.30508
等等
我目前正在为此使用 Pandas,我用来计算每小时的代码是:
df = pd.read_csv(myPath, sep=',', header=None, parse_dates=[[0, 1]])
df.columns = ["date","value"]
df.set_index("date", inplace=True)
day_min = df.resample('D', how='min')
df['is_day_min'] = day_min.lookup(df.index.normalize(), len(df) * ['value'])==df.value
df.is_day_min.resample('H', np.sum).fillna(0).astype(int)
df.groupby(df.index.time)["is_day_max"].sum().to_csv("C:\\2013frequency_min.csv")
但是在分析每日数据时,如果我在 day_min(第 4 行)中将 resample 更改为“W”,在第 6 行更改为“D”,则会出现以下错误:KeyError: Timestamp('2013-01-01 00 :00:00', tz=None)
有人可以帮忙吗?我敢肯定这很简单,但熊猫文档并没有帮助我。 即使有人有不使用熊猫的解决方案,也可以向我展示。如果它有效,那没关系。 谢谢
【问题讨论】: