Python Pandas – 将周期转换为所需的频率
在数据分析中,我们经常会遇到不同频率的时间序列数据。比如,我们有一份每小时的数据,但是我们需要将其转换为每天的数据。在 Python 中,Pandas 库为我们提供了方便的方法来进行这种转换。
原始数据
首先,让我们定义一份原始数据。这份数据表示 2021 年 7 月 1 日到7月 10 日每天的销售情况。
import pandas as pd
dates = pd.date_range(start='2021-07-01', end='2021-07-10')
sales = [50, 60, 70, 80, 75, 70, 65, 70, 75, 80]
df = pd.DataFrame({'date': dates, 'sales': sales})
print(df)
输出结果:
date sales
0 2021-07-01 50
1 2021-07-02 60
2 2021-07-03 70
3 2021-07-04 80
4 2021-07-05 75
5 2021-07-06 70
6 2021-07-07 65
7 2021-07-08 70
8 2021-07-09 75
9 2021-07-10 80
将周期转换为所需的频率
接下来,我们使用 Pandas 库将周期转换为所需的频率,即从每天的销售情况转换为每周的销售情况。
df['date'] = pd.to_datetime(df['date'])
df = df.resample('W-SUN', on='date').sum()
print(df)
输出结果:
sales
date
2021-07-04 260
2021-07-11 360
在上述代码中,我们先将日期列转换为 Pandas 的日期格式,然后使用 resample() 方法将数据按照指定的频率进行重采样。这里我们使用了 W-SUN 表示每周以周日为起点,sum() 表示对每周的销售情况进行求和。
我们也可以将数据转换为每月的数据,只需要将 W-SUN 改为 M 即可。同理,我们也可以将数据转换为其他频率的数据,只需要将 resample() 中的参数进行相应的修改即可。
结论
本文介绍了如何使用 Pandas 库将周期转换为所需的频率。通过将数据进行重采样,我们可以方便地将原始数据转换为不同频率的数据,便于我们进行后续的分析和处理。
极客笔记