1. pd.date_range()
pd.date_range()
是 Pandas 中用来生成日期范围的一个函数,常用于创建时间序列数据。它的语法如下:
语法:
pd.date_range(start=None, end=None, periods=None, freq='D', tz=None, normalize=False, closed=None)
参数解释:
-
start (
str
ordatetime-like
, optional):- 范围的起始日期或时间。如果指定了
end
,则start
是必需的。 - 例如
'2025-01-01'
表示开始日期为 2025 年 1 月 1 日。
- 范围的起始日期或时间。如果指定了
-
end (
str
ordatetime-like
, optional):- 范围的结束日期或时间。如果指定了
start
,则end
是可选的。 - 例如
'2025-01-10'
表示结束日期为 2025 年 1 月 10 日。
- 范围的结束日期或时间。如果指定了
-
periods (
int
, optional):- 生成的日期数量。如果 指定了
start
或end
,则periods
必须为空。 - 例如,
periods=10
表示生成 10 个日期。
- 生成的日期数量。如果 指定了
-
freq (
str
, optional):- 频率。默认值为
'D'
,表示按天(daily)生成日期。 - 你可以指定其他频率,如:
'H'
:小时'T'
:分钟'M'
:月末'A'
:年末- 还有其他更多的频率选项,具体可以查阅 Pandas 官方文档。
- 频率。默认值为
-
tz (
str
orpytz.timezone
or None, optional):- 时区。如果提供了时区,将根据时区生成日期。
-
normalize (
bool
, optional):- 是否将日期归一化为午夜(00:00:00)。如果为
True
,日期将会归一化到一天的开始时间。
- 是否将日期归一化为午夜(00:00:00)。如果为
-
closed (
{'right', 'left', 'both', 'neither'}
, optional):- 确定如何闭合日期范围的边界,影响起始点和终点的包含方式。
举例说明:
import pandas as pd
# 生成从 2025年1月1日 开始的 10 天日期
dates = pd.date_range('2025-01-01', periods=10, freq='D')
print(dates)
输出:
DatetimeIndex(['2025-01-01', '2025-01-02', '2025-01-03', '2025-01-04',
'2025-01-05', '2025-01-06', '2025-01-07', '2025-01-08',
'2025-01-09', '2025-01-10'],
dtype='datetime64[ns]', freq='D')
解释:
start='2025-01-01'
:指定了起始日期为 2025 年 1 月 1 日。periods=10
:生成 10 个日期。freq='D'
:指定了日期的频率是按天(daily)。
因此,pd.date_range('2025-01-01', periods=10, freq='D')
会生成从 2025 年 1 月 1 日开始的连续 10 天的日期,按天排列。
其他使用例子:
- 按月生成日期