请翻译以下为中文:#
- pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=None, inclusive='both', *, unit=None, **kwargs)[源代码][源代码]#
返回一个固定频率的 DatetimeIndex。
返回一系列等间隔的时间点(其中任意两个相邻点之间的差值由给定的频率指定),使得它们落在范围 [start, end] 内,其中第一个和最后一个分别是该范围内落在
freq
边界上(如果作为频率字符串给出)或对freq
有效(如果作为pandas.tseries.offsets.DateOffset
给出)的第一个和最后一个时间点。如果freq
为正,则点满足 start <[=] x <[=] end,如果freq
为负,则点满足 end <[=] x <[=] start。(如果start
、end
或freq
中恰好有一个未指定,则可以根据范围中的时间步数periods
计算出这个缺失的参数。请参见下面的注释。)- 参数:
- 开始str 或 类似datetime的类型, 可选
生成日期的左边界。
- 结束str 或 类似datetime的类型, 可选
生成日期的右边界。
- periodsint, 可选
要生成的周期数。
- freqstr, Timedelta, datetime.timedelta, 或 DateOffset, 默认 ‘D’
频率字符串可以有倍数,例如 ‘5h’。请参见 这里 以获取频率别名列表。
- tzstr 或 tzinfo,可选
用于返回本地化 DatetimeIndex 的时区名称,例如 ‘Asia/Hong_Kong’。默认情况下,生成的 DatetimeIndex 是时区无关的,除非传递了时区感知的日期时间类。
- normalizebool, 默认为 False
在生成日期范围之前,将开始/结束日期标准化为午夜。
- 名字str, 默认为 None
生成的 DatetimeIndex 的名称。
- inclusive{“both”, “neither”, “left”, “right”}, 默认 “both”
包含边界;是否将每个边界设置为闭合或开放。
Added in version 1.4.0.
- 单元str, 默认为 None
指定所需的结果分辨率。
Added in version 2.0.0.
- **kwargs
为了兼容性。对结果没有影响。
- 返回:
- DatetimeIndex
参见
DatetimeIndex
一个不可变的日期时间容器。
timedelta_range
返回一个固定频率的 TimedeltaIndex。
period_range
返回一个固定频率的 PeriodIndex。
interval_range
返回一个固定频率的 IntervalIndex。
备注
在四个参数
start
、end
、periods
和freq
中,必须恰好指定三个。如果省略freq
,生成的DatetimeIndex
将在start
和end
之间(两边闭合)线性间隔的periods
个元素。要了解更多关于频率字符串的信息,请参见 此链接。
示例
指定值
接下来的四个示例生成相同的 DatetimeIndex,但变化了 start、end 和 periods 的组合。
指定 start 和 end,默认频率为每日。
>>> pd.date_range(start="1/1/2018", end="1/08/2018") DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'], dtype='datetime64[ns]', freq='D')
指定支持时区的 start 和 end,默认频率为每日。
>>> pd.date_range( ... start=pd.to_datetime("1/1/2018").tz_localize("Europe/Berlin"), ... end=pd.to_datetime("1/08/2018").tz_localize("Europe/Berlin"), ... ) DatetimeIndex(['2018-01-01 00:00:00+01:00', '2018-01-02 00:00:00+01:00', '2018-01-03 00:00:00+01:00', '2018-01-04 00:00:00+01:00', '2018-01-05 00:00:00+01:00', '2018-01-06 00:00:00+01:00', '2018-01-07 00:00:00+01:00', '2018-01-08 00:00:00+01:00'], dtype='datetime64[ns, Europe/Berlin]', freq='D')
指定 start 和 periods,即周期数(天数)。
>>> pd.date_range(start="1/1/2018", periods=8) DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'], dtype='datetime64[ns]', freq='D')
指定 end 和 periods,周期数(天数)。
>>> pd.date_range(end="1/1/2018", periods=8) DatetimeIndex(['2017-12-25', '2017-12-26', '2017-12-27', '2017-12-28', '2017-12-29', '2017-12-30', '2017-12-31', '2018-01-01'], dtype='datetime64[ns]', freq='D')
指定 start, end, 和 periods;频率会自动生成(线性间隔)。
>>> pd.date_range(start="2018-04-24", end="2018-04-27", periods=3) DatetimeIndex(['2018-04-24 00:00:00', '2018-04-25 12:00:00', '2018-04-27 00:00:00'], dtype='datetime64[ns]', freq=None)
其他参数
将 freq`(频率)更改为 `’ME’``(月末频率)。
>>> pd.date_range(start="1/1/2018", periods=5, freq="ME") DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30', '2018-05-31'], dtype='datetime64[ns]', freq='ME')
允许多个
>>> pd.date_range(start="1/1/2018", periods=5, freq="3ME") DatetimeIndex(['2018-01-31', '2018-04-30', '2018-07-31', '2018-10-31', '2019-01-31'], dtype='datetime64[ns]', freq='3ME')
freq 也可以指定为一个偏移对象。
>>> pd.date_range(start="1/1/2018", periods=5, freq=pd.offsets.MonthEnd(3)) DatetimeIndex(['2018-01-31', '2018-04-30', '2018-07-31', '2018-10-31', '2019-01-31'], dtype='datetime64[ns]', freq='3ME')
指定 tz 以设置时区。
>>> pd.date_range(start="1/1/2018", periods=5, tz="Asia/Tokyo") DatetimeIndex(['2018-01-01 00:00:00+09:00', '2018-01-02 00:00:00+09:00', '2018-01-03 00:00:00+09:00', '2018-01-04 00:00:00+09:00', '2018-01-05 00:00:00+09:00'], dtype='datetime64[ns, Asia/Tokyo]', freq='D')
inclusive 控制是否包括位于边界的 start 和 end。默认值 “both” 包括两端的边界点。
>>> pd.date_range(start="2017-01-01", end="2017-01-04", inclusive="both") DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03', '2017-01-04'], dtype='datetime64[ns]', freq='D')
使用
inclusive='left'
来排除如果 end 落在边界上。>>> pd.date_range(start="2017-01-01", end="2017-01-04", inclusive="left") DatetimeIndex(['2017-01-01', '2017-01-02', '2017-01-03'], dtype='datetime64[ns]', freq='D')
使用
inclusive='right'
来排除落在边界上的 start,同样地,inclusive='neither'
将排除 start 和 end。>>> pd.date_range(start="2017-01-01", end="2017-01-04", inclusive="right") DatetimeIndex(['2017-01-02', '2017-01-03', '2017-01-04'], dtype='datetime64[ns]', freq='D')
指定一个单位
>>> pd.date_range(start="2017-01-01", periods=10, freq="100YS", unit="s") DatetimeIndex(['2017-01-01', '2117-01-01', '2217-01-01', '2317-01-01', '2417-01-01', '2517-01-01', '2617-01-01', '2717-01-01', '2817-01-01', '2917-01-01'], dtype='datetime64[s]', freq='100YS-JAN')