【Pandas】pandas.date_range详解与实战应用:快速生成日期序列的利器,用于生成固定频率的日期时间序列

在数据分析和处理过程中,生成日期序列是一项非常常见的任务。pandas.date_range 是 Pandas 提供的一个函数,用于生成固定频率的日期时间序列。本文将详细介绍 pandas.date_range 的用途和用法,包括其参数详解、示例代码以及进阶使用技巧。


🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:gylzbk

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

在这里插入图片描述

1.简介 📘

在数据分析和处理过程中,生成日期序列是一项非常常见的任务。pandas.date_range 是 Pandas 提供的一个函数,用于生成固定频率的日期时间序列。本文将详细介绍 pandas.date_range 的用途和用法,包括其参数详解、示例代码以及进阶使用技巧。

2.什么是pandas.date_range 🧩

pandas.date_range 是 Pandas 提供的用于生成固定频率的日期时间序列的函数。它可以生成从指定起始日期到结束日期之间的日期时间序列,或根据指定的起点和频率生成固定数量的日期时间。

3.为什么使用pandas.date_range 🤔

使用 pandas.date_range 有以下几个优点:

  1. 便捷:能够快速生成固定频率的日期时间序列,便于时间序列数据分析。
  2. 灵活性:支持多种参数组合,满足不同的生成需求。
  3. 强大的日期频率支持:支持多种日期频率,如天、小时、分钟等,满足各种场景的需求。

4.pandas.date_range方法详解 🔍

4.1 函数签名 🖊️

pandas.date_range(start=None, end=None, periods=None, freq='D', tz=None, normalize=False, name=None, closed=None, inclusive=None)

4.2 参数解释 📝

  • start: 类型:str or datetime-like, optional。说明:生成序列的起始日期。
  • end: 类型:str or datetime-like, optional。说明:生成序列的结束日期。
  • periods: 类型:int, optional。说明:生成序列的总周期数。
  • freq: 类型:str or DateOffset, default ‘D’。说明:日期频率,默认为日。常见的有‘D’(天数),‘H’(小时),‘T’(分钟),‘S’(秒),等等。
  • tz: 类型:str or tzinfo, default None。说明:时区。
  • normalize: 类型:bool, default False。说明:是否将时间归一化为午夜时间。
  • name: 类型:str, default None。说明:结果索引对象的名称。
  • closed: 类型:{None, ‘left’, ‘right’}, optional。说明:序列是否包含 startend 边界。
  • inclusive: 类型:{‘both’, ‘neither’, ‘left’, ‘right’}, default ‘both’。说明:包含哪边的界限。

4.3 返回值 📤

返回一个 DatetimeIndex,包含生成的日期时间序列。

4.4 示例代码 👨‍💻

4.4.1 基本用法 💾

首先,我们来看看一个基本用法,生成从起始日期到结束日期的日期序列。

import pandas as pd

# 使用 pandas.date_range 生成日期序列
date_range = pd.date_range(start='2023-01-01', end='2023-01-10')

print("Generated Date Range:")
print(date_range)

输出结果如下:

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

4.4.2 指定周期数 ⏩

接下来,我们看看如何指定生成日期序列的周期数。

# 使用 pandas.date_range 生成日期序列,指定周期数
date_range_periods = pd.date_range(start='2023-01-01', periods=5)

print("Generated Date Range with Periods:")
print(date_range_periods)

输出结果如下:

Generated Date Range with Periods:
DatetimeIndex(['2023-01-01', '2023-01-02', '2023-01-03', '2023-01-04',
               '2023-01-05'],
              dtype='datetime64[ns]', freq='D')

4.4.3 选择日期频率 ⏱️

可以选择不同的日期频率生成日期序列。

# 使用 pandas.date_range 生成日期序列,指定频率为小时
date_range_hourly = pd.date_range(start='2023-01-01', periods=5, freq='H')

print("Generated Date Range with Hourly Frequency:")
print(date_range_hourly)

输出结果如下:

Generated Date Range with Hourly Frequency:
DatetimeIndex(['2023-01-01 00:00:00', '2023-01-01 01:00:00',
               '2023-01-01 02:00:00', '2023-01-01 03:00:00',
               '2023-01-01 04:00:00'],
              dtype='datetime64[ns]', freq='H')

4.5 进阶使用 🚀

4.5.1 生成分钟级别的日期序列 💨

在某些情况下,可能需要生成分钟级别的日期序列。

# 使用 pandas.date_range 生成分钟级别的日期序列
date_range_minute = pd.date_range(start='2023-01-01', periods=5, freq='T')

print("Generated Date Range with Minute Frequency:")
print(date_range_minute)

输出结果如下:

Generated Date Range with Minute Frequency:
DatetimeIndex(['2023-01-01 00:00:00', '2023-01-01 00:01:00',
               '2023-01-01 00:02:00', '2023-01-01 00:03:00',
               '2023-01-01 00:04:00'],
              dtype='datetime64[ns]', freq='T')

4.5.2 生成年度频率的日期序列 📜

还可以生成年度频率的日期序列。

# 使用 pandas.date_range 生成年度频率的日期序列
date_range_yearly = pd.date_range(start='2020', end='2023', freq='Y')

print("Generated Date Range with Yearly Frequency:")
print(date_range_yearly)

输出结果如下:

Generated Date Range with Yearly Frequency:
DatetimeIndex(['2020-12-31', '2021-12-31', '2022-12-31'], dtype='datetime64[ns]', freq='A-DEC')

4.5.3 生成工作日频率的日期序列 📅

可以生成仅包含工作日的日期序列。

# 使用 pandas.date_range 生成工作日频率的日期序列
date_range_bizdays = pd.date_range(start='2023-01-01', periods=5, freq='B')

print("Generated Date Range with Business Day Frequency:")
print(date_range_bizdays)

输出结果如下:

Generated Date Range with Business Day Frequency:
DatetimeIndex(['2023-01-02', '2023-01-03', '2023-01-04', '2023-01-05',
               '2023-01-06'],
              dtype='datetime64[ns]', freq='B')

5. 注意事项 ⚠️

  1. 参数组合start, endperiods 参数可以结合使用,但须注意仅允许指定两个参数,剩余一个参数会被自动计算。
  2. 日期频率:通过 freq 参数可以灵活地选择不同的日期频率,以满足各种需求。
  3. 时区:可以通过 tz 参数指定生成的日期序列的时区。

6. 参考资料 📚

7. 结论 🏁

Pandas 的 pandas.date_range 函数提供了一种高效且灵活的方式来生成固定频率的日期时间序列。通过本文详细的讲解和示例,相信你已经掌握了 pandas.date_range 的基础使用方法和进阶技巧,有助于更好地进行时间序列分析和处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I'mAlex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值