如何在 pandas 中创建日期范围(3 个示例)


您可以使用pandas.date_range()函数在 pandas 中创建日期范围。

该函数使用以下基本语法:

pandas.date_range(开始、结束、周期、频率……)

金子:

  • 开始:开始日期
  • 结束:结束日期
  • period:生成的周期数
  • freq :要使用的频率(有关频率别名,请参阅此列表

以下示例展示了如何在实践中使用此功能。

示例 1:创建包含各个日期的日期范围

以下代码演示如何创建由具有特定开始日期和结束日期的各个日期组成的日期范围:

 import pandas as pd

#create 10-day date range
p.d. date_range (start=' 1/1/2020 ', end= '10/1/2020 ')

DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-04',
               '2020-01-05', '2020-01-06', '2020-01-07', '2020-01-08',
               '2020-01-09', '2020-01-10'],
              dtype='datetime64[ns]', freq='D')

结果是从指定开始日期到指定结束日期的 10 天的列表。

示例 2:创建具有特定周期数的日期范围

以下代码演示如何创建一个日期范围,其中包含特定开始日期和结束日期之间等距的特定周期数:

 import pandas as pd

#create 10-day date range with 3 equally-spaced periods
p.d. date_range (start=' 1/1/2020 ', end=' 1/10/2020 ', periods= 3 )

DatetimeIndex(['2020-01-01 00:00:00', '2020-01-05 12:00:00',
               '2020-01-10 00:00:00'],
              dtype='datetime64[ns]', freq=None)

结果是从指定开始日期到指定结束日期的 3 个等距天的列表。

示例 3:创建具有特定频率的日期范围

以下代码演示如何创建从特定日期开始且开始日期频率为六个月的日期范围:

 import pandas as pd

#create date range with six month start dates
p.d. date_range (start=' 1/1/2020 ', freq=' MS ', periods= 6 )

DatetimeIndex(['2020-01-01', '2020-02-01', '2020-03-01', '2020-04-01',
               '2020-05-01', '2020-06-01'],
              dtype='datetime64[ns]', freq='MS')

结果是一个包含六个日期的列表,每个日期间隔一个月。请注意,“ MS ”的意思是“月初”。您可以在此处找到日期别名的完整列表。

以下代码显示如何创建从特定日期开始并具有每年频率的日期范围:

 import pandas as pd

#create date range with six consecutive years
p.d. date_range (start=' 1/1/2020 ', freq=' YS ', periods= 6 )

DatetimeIndex(['2020-01-01', '2021-01-01', '2022-01-01', '2023-01-01',
               '2024-01-01', '2025-01-01'],
              dtype='datetime64[ns]', freq='AS-JAN')

结果是一个包含六个日期的列表,每个日期间隔一年。

注意:您可以在此处找到pd.date_range()函数的完整在线文档。

其他资源

以下教程解释了如何对 pandas 中的日期进行其他常见操作:

如何按日期过滤 Pandas DataFrame 行
如何按日期对 Pandas DataFrame 进行排序
如何从 Pandas 中的日期中提取月份

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注