Python Pandas – 将周期转换为所需的频率

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 库将周期转换为所需的频率。通过将数据进行重采样,我们可以方便地将原始数据转换为不同频率的数据,便于我们进行后续的分析和处理。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程