📜  pands 切片日期时间索引 - Python (1)

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

Pandas 切片日期时间索引 - Python

Pandas 是一个流行的 Python 数据分析库,它提供了丰富的数据结构和函数。其中,切片日期时间索引是 Pandas 中非常重要的一个功能,它能够帮助我们快速对时间序列数据进行处理和分析。本文将介绍 Pandas 切片日期时间索引的具体使用方法。

创建时间序列数据

在介绍 Pandas 切片日期时间索引之前,我们先看一下如何创建时间序列数据。

import pandas as pd

# 创建一组时间序列数据
dates = pd.date_range('20220101', periods=100)
data = pd.Series(range(100), index=dates)

print(data.head())

输出:

2022-01-01    0
2022-01-02    1
2022-01-03    2
2022-01-04    3
2022-01-05    4
Freq: D, dtype: int64

上述代码首先使用 pd.date_range() 创建了一个包含 100 个日期的时间序列,然后使用 pd.Series() 创建了一个以日期为索引的序列。我们可以看到,该序列以每天为频率,并且其索引为 Pandas 中的时间戳类型。

切片日期时间索引
按日期切片

我们可以使用 Pandas 切片日期时间索引来选取指定日期范围内的数据。例如,我们可以使用以下代码来选取 2022 年 1 月 1 日至 2022 年 1 月 10 日的数据:

print(data['20220101':'20220110'])

输出:

2022-01-01    0
2022-01-02    1
2022-01-03    2
2022-01-04    3
2022-01-05    4
2022-01-06    5
2022-01-07    6
2022-01-08    7
2022-01-09    8
2022-01-10    9
Freq: D, dtype: int64

上述代码中,我们使用了类似于 Python 列表切片的语法,使用 '20220101':'20220110' 来选取 2022 年 1 月 1 日至 2022 年 1 月 10 日的数据。

按日期范围切片

除了按指定日期切片外,我们还可以按日期范围来选取数据。例如,我们可以使用以下代码来选取所有 2022 年的数据:

print(data['2022'])

输出:

2022-01-01     0
2022-01-02     1
2022-01-03     2
2022-01-04     3
2022-01-05     4
             ... 
2022-04-06    95
2022-04-07    96
2022-04-08    97
2022-04-09    98
2022-04-10    99
Freq: D, Length: 100, dtype: int64

上述代码中,我们使用了 '2022' 来选取所有 2022 年的数据。需要注意的是,这里的日期范围是闭合的。

按月份切片

除了按日期切片和按日期范围切片外,我们还可以按月份来选取数据。例如,我们可以使用以下代码来选取所有 2022 年 1 月的数据:

print(data['2022-01'])

输出:

2022-01-01    0
2022-01-02    1
2022-01-03    2
2022-01-04    3
2022-01-05    4
             ..
2022-01-27   26
2022-01-28   27
2022-01-29   28
2022-01-30   29
2022-01-31   30
Freq: D, Length: 31, dtype: int64

上述代码中,我们使用了 '2022-01' 来选取所有 2022 年 1 月的数据。

总结

本文介绍了 Pandas 切片日期时间索引的基本使用方法。使用 Pandas 切片日期时间索引,我们可以轻松地选取时间序列数据的指定日期范围、指定月份、指定时间段等。希望本文对大家有所帮助!