问题描述
我在 Pandas 中有一个这样的数据框
I have a Dataframe in Pandas like this
1. 2013-10-09 09:00:05 2. 2013-10-09 09:01:00 3. 2013-10-09 09:02:00 4. ............ 5. ............ 6. ............ 7. 2013-10-10 09:15:05 8. 2013-10-10 09:16:00 9. 2013-10-10 09:17:00
我想通过平均每 5 分钟的数据并为其形成 1 个数据点来减小数据框的大小..像这样
I would like reduce the size of the Dataframe by averaging every 5 mins data and forming 1 datapoint for it ..like this
1. 2013-10-09 09:05:00 2. 2013-10-09 09:10:00 3. 2013-10-09 09:15:00
有人可以帮我吗?
推荐答案
你可能想看看 pandas.resample:
df['Data'].resample('5Min', how='mean')
或者,因为 how = 'mean' 是默认参数:
or, as how = 'mean' is default parameter:
df['Data'].resample('5Min')
例如:
>>> rng = pd.date_range('1/1/2012', periods=10, freq='Min') >>> df = pd.DataFrame({'Data':np.random.randint(0, 500, len(rng))}, index=rng) >>> df Data 2012-01-01 00:00:00 488 2012-01-01 00:01:00 172 2012-01-01 00:02:00 276 2012-01-01 00:03:00 5 2012-01-01 00:04:00 233 2012-01-01 00:05:00 266 2012-01-01 00:06:00 103 2012-01-01 00:07:00 40 2012-01-01 00:08:00 274 2012-01-01 00:09:00 494 >>> >>> df['Data'].resample('5Min') 2012-01-01 00:00:00 234.8 2012-01-01 00:05:00 235.4
您可以找到更多示例这里.