Pandas2.2 General
Top-level dealing with datetimelike data
方法 | 描述 |
---|---|
to_datetime(arg[, errors, dayfirst, …]) | 用于将对象数据(如字符串)转换为日期时间类型 |
to_timedelta(arg[, unit, errors]) | 用于将对象数据(如字符串)转换为时间差类型 |
date_range([start, end, periods, freq, tz, …]) | 用于生成固定频率的日期时间序列 |
bdate_range([start, end, periods, freq, tz, …]) | 用于生成基于工作日的日期范围 |
period_range([start, end, periods, freq, name]) | 用于生成固定频率的周期序列 |
timedelta_range([start, end, periods, freq, …]) | 用于生成固定频率的时间差序列 |
infer_freq(index) | 用于根据时间序列数据自动推断其频率 |
pandas.timedelta_range()
pandas.timedelta_range()
函数用于生成一个固定频率的时间差(timedelta)范围。它类似于 pandas.date_range()
,但生成的是时间差对象而不是日期时间对象。以下是 pandas.timedelta_range()
函数的每个参数的详细介绍,并附有示例及结果。
def timedelta_range(
start=None,
end=None,
periods: int | None = None,
freq=None,
name=None,
closed=None,
*,
unit: str | None = None,
) -> TimedeltaIndex:
...
参数
-
start(str 或 pandas._libs.tslibs.timedeltas.Timedelta,默认 ‘0 days’)
- 起始时间差。可以是表示时间差的字符串(如
'1 days'
)或Timedelta
对象。
- 起始时间差。可以是表示时间差的字符串(如
-
end(str 或 pandas._libs.tslibs.timedeltas.Timedelta,可选)
- 结束时间差。同样可以是表示时间差的字符串或
Timedelta
对象。如果指定了periods
,则end
是可选的。
- 结束时间差。同样可以是表示时间差的字符串或
-
periods(int,可选)
- 要生成的元素数量。如果指定了
periods
,则必须省略num
参数,并且start
和end
参数变得可选(但至少需要一个来定义范围)。
- 要生成的元素数量。如果指定了
-
freq(str 或 pandas.DateOffset,默认 ‘D’)
- 频率字符串或
DateOffset
对象,表示时间差之间的间隔。常见的频率包括'D'
(天)、'H'
(小时)、'T'
或'min'
(分钟)、'S'
(秒)等。
- 频率字符串或
-
name(str,可选)
- 返回的
TimedeltaIndex
的名称。
- 返回的
-
closed({‘left’, ‘right’}, 可选,默认 ‘right’)
- 是否包括区间的端点。
'left'
表示包括start
而不包括end
,'right'
表示包括end
而不包括start
。
- 是否包括区间的端点。
-
unit str, 默认 None
- 指定所需的结果分辨率
示例 1:基本用法
import pandas as pd
# 生成从0天到2天的timedelta范围,步长为1天
td_range = pd.timedelta_range(start='0 days', end='2 days', freq='D')
print(td_range)
结果:
TimedeltaIndex(['0 days', '1 days', '2 days'], dtype='timedelta64[ns]', freq='D')
示例 2:使用 periods
参数
# 生成包含5个元素的timedelta范围,从0天开始,步长为1天
td_range = pd.timedelta_range(start='0 days', periods=5, freq='D')
print(td_range)
结果:
TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'], dtype='timedelta64[ns]', freq='D')
示例 3:使用不同的频率
# 生成从0小时到2小时的时间差范围,步长为30分钟
td_range = pd.timedelta_range(start='0 hours', end='2 hours', freq='30min')
print(td_range)
结果:
TimedeltaIndex(['0 days 00:00:00', '0 days 00:30:00', '0 days 01:00:00',
'0 days 01:30:00', '0 days 02:00:00'],
dtype='timedelta64[ns]', freq='30min')
示例 4:设置名称和封闭区间
# 生成包含4个元素的timedelta范围,从0分钟到3分钟,步长为1分钟,名称为'Minutes',封闭区间为左封闭
td_range = pd.timedelta_range(start='0 minutes', periods=4, freq='min', name='Minutes', closed='left')
print(td_range)
结果:
Minutes
TimedeltaIndex(['0 days 00:00:00', '0 days 00:01:00', '0 days 00:02:00'], dtype='timedelta64[ns]', name='Minutes', freq='min')
这些示例展示了 pandas.timedelta_range()
的基本用法和参数调整,可以帮助你根据需要生成时间差范围。