📅  最后修改于: 2023-12-03 14:59:19.349000             🧑  作者: Mango
在时间序列分析中,我们经常需要进行数据重采样以满足特定的统计需求。Pandas是一种强大的数据分析工具,可以轻松地进行时间序列数据的处理。本文将介绍如何使用Pandas进行年度汇总重采样。
import pandas as pd
import numpy as np
from datetime import datetime
# 创建一个简单的时间序列数据集:
date_rng = pd.date_range(start='1/1/2021', end='1/08/2022', freq='H')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(1,100,size=(len(date_rng)))
df.head(10)
输出结果:
date data
0 2021-01-01 00:00:00 82
1 2021-01-01 01:00:00 17
2 2021-01-01 02:00:00 96
3 2021-01-01 03:00:00 87
4 2021-01-01 04:00:00 7
5 2021-01-01 05:00:00 53
6 2021-01-01 06:00:00 84
7 2021-01-01 07:00:00 19
8 2021-01-01 08:00:00 19
9 2021-01-01 09:00:00 86
df = df.set_index('date')
df.index
输出结果:
DatetimeIndex(['2021-01-01 00:00:00', '2021-01-01 01:00:00',
'2021-01-01 02:00:00', '2021-01-01 03:00:00',
'2021-01-01 04:00:00', '2021-01-01 05:00:00',
'2021-01-01 06:00:00', '2021-01-01 07:00:00',
'2021-01-01 08:00:00', '2021-01-01 09:00:00',
...
'2022-01-07 15:00:00', '2022-01-07 16:00:00',
'2022-01-07 17:00:00', '2022-01-07 18:00:00',
'2022-01-07 19:00:00', '2022-01-07 20:00:00',
'2022-01-07 21:00:00', '2022-01-07 22:00:00',
'2022-01-07 23:00:00', '2022-01-08 00:00:00'],
dtype='datetime64[ns]', name='date', length=8761, freq='H')
df_annual = df.resample('A').mean()
df_annual.head()
输出结果:
data
date
2021-12-31 49.442177
2022-12-31 51.311475
通过使用Pandas,我们可以轻松地进行时间序列的年度汇总重采样,这在进行数据分析和可视化时非常有用。