📜  annaul sum resample pandas - Python (1)

📅  最后修改于: 2023-12-03 14:59:19.349000             🧑  作者: Mango

使用Pandas进行年度汇总重采样

在时间序列分析中,我们经常需要进行数据重采样以满足特定的统计需求。Pandas是一种强大的数据分析工具,可以轻松地进行时间序列数据的处理。本文将介绍如何使用Pandas进行年度汇总重采样。

步骤
  1. 导入必要的库和数据集:
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
  1. 将日期设置为数据帧的索引:
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')
  1. 对年度数据进行汇总:
df_annual = df.resample('A').mean()
df_annual.head()

输出结果:

                 data
date                 
2021-12-31  49.442177
2022-12-31  51.311475
结论:

通过使用Pandas,我们可以轻松地进行时间序列的年度汇总重采样,这在进行数据分析和可视化时非常有用。