【发布时间】:2015-08-13 23:26:45
【问题描述】:
我有一个数据框,其中包含一组(区域)的每月观察值(var1、var2)
date var1 var2 Area
2008-03-01 2 22 OH
2008-02-01 3 33 OH
2008-01-01 4 44 OH
... etc
2008-03-01 111 1111 AK
2008-02-01 222 2222 AK
2008-01-01 333 3333 AK
我希望通过取 3 个月的平均值将这些变量“下采样”为季度数据。 IE。 'OH' 的第一个季度观测值 (var1) 应为 (1+3+4)/3。
如何在熊猫中做到这一点?谢谢
编辑:这是我想要的输出:
dateQtr var1 var2 Area
2008-Q1 3 33 OH
2007-Q4 ... ... OH
... etc
2008-Q1 222 2222 AK
【问题讨论】:
-
这是你想要的吗?
df.groupby('Area')[['var1','var2']].resample('q')与@EdChum 的建议之一基本相同,但会保留日期。 -
@JohnE 是的,你的建议给了 OP 他们想要的东西,我已经更新了我的答案,我应该意识到在分组后执行
resample应该可以工作 -
很酷,对问答进行了很好的编辑。 ;-)
-
只是一个小小的后续问题:当我们遇到像这样的问题可以通过某种
groupby“魔术”解决时:你们如何着手找出正确的程序?我总是对大多数这些问题的单行答案感到惊讶。我自己永远无法想出df.groupby('Area')[['var1','var2']].resample('q').reset_index()...感谢您的任何指点...
标签: pandas