在数据分析和处理过程中,生成日期序列是一项非常常见的任务。pandas.date_range
是 Pandas 提供的一个函数,用于生成固定频率的日期时间序列。本文将详细介绍 pandas.date_range
的用途和用法,包括其参数详解、示例代码以及进阶使用技巧。
🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:
gylzbk
)
💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。
【Pandas】pandas.date_range详解与实战应用:快速生成日期序列的利器,用于生成固定频率的日期时间序列
1.简介 📘
在数据分析和处理过程中,生成日期序列是一项非常常见的任务。pandas.date_range
是 Pandas 提供的一个函数,用于生成固定频率的日期时间序列。本文将详细介绍 pandas.date_range
的用途和用法,包括其参数详解、示例代码以及进阶使用技巧。
2.什么是pandas.date_range 🧩
pandas.date_range
是 Pandas 提供的用于生成固定频率的日期时间序列的函数。它可以生成从指定起始日期到结束日期之间的日期时间序列,或根据指定的起点和频率生成固定数量的日期时间。
3.为什么使用pandas.date_range 🤔
使用 pandas.date_range
有以下几个优点:
- 便捷:能够快速生成固定频率的日期时间序列,便于时间序列数据分析。
- 灵活性:支持多种参数组合,满足不同的生成需求。
- 强大的日期频率支持:支持多种日期频率,如天、小时、分钟等,满足各种场景的需求。
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。说明:序列是否包含start
和end
边界。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. 注意事项 ⚠️
- 参数组合:
start
,end
和periods
参数可以结合使用,但须注意仅允许指定两个参数,剩余一个参数会被自动计算。 - 日期频率:通过
freq
参数可以灵活地选择不同的日期频率,以满足各种需求。 - 时区:可以通过
tz
参数指定生成的日期序列的时区。
6. 参考资料 📚
7. 结论 🏁
Pandas 的 pandas.date_range
函数提供了一种高效且灵活的方式来生成固定频率的日期时间序列。通过本文详细的讲解和示例,相信你已经掌握了 pandas.date_range
的基础使用方法和进阶技巧,有助于更好地进行时间序列分析和处理。