pandas.to_timedelta#

pandas.to_timedelta(arg, unit=None, errors='raise')[源代码]#

将参数转换为时间增量。

Timedeltas是时间上的绝对差异,以不同的单位(例如天、小时、分钟、秒)表示。此方法将参数从可识别的时间增量格式/值转换为Timedelta类型。

参数
arg字符串、时间增量、类似列表或系列

要转换为时间增量的数据。

1.2 版后已移除: 单位为‘M’、‘Y’和‘y’的字符串不代表明确的时间增量值,将在将来的版本中删除

unit字符串,可选

表示数字的参数单位 arg 。默认为 "ns"

可能的值:

  • “w”

  • ‘d’/‘天’/‘天’

  • ‘小时’/‘h’

  • M‘/’分钟‘/’T‘

  • %s‘/’秒‘

  • ‘ms’/‘毫秒’/‘毫秒’/‘Milli’/‘Millis’/‘L’

  • ‘US’/‘微秒’/‘微秒’/‘Micro’/‘micros’/‘U’

  • ‘ns’/‘纳秒’/‘Nano’/‘Nanos’/‘纳秒’/‘N’

在 1.1.0 版更改: 不能在以下情况下指定 arg 上下文字符串和 errors="raise"

errors{‘忽略’,‘提升’,‘强制’},默认‘提升’
  • 如果为‘RAISE’,则无效的分析将引发异常。

  • 如果‘强制’,则无效解析将被设置为NAT。

  • 如果为‘Ignore’,则无效的解析将返回输入。

退货
时间增量

如果解析成功。返回类型取决于输入:

  • List-Like:TimedeltaIndex of timedelta64 dtype

  • 系列:Timedelta64 dtype系列

  • 标量:Timedelta

参见

DataFrame.astype

将参数强制转换为指定的数据类型。

to_datetime

将参数转换为日期时间。

convert_dtypes

转换数据类型。

注意事项

如果精度高于纳秒,则字符串输入的持续时间精度将被截断为纳秒。

示例

将单个字符串解析为Timedelta:

>>> pd.to_timedelta('1 days 06:05:01.00003')
Timedelta('1 days 06:05:01.000030')
>>> pd.to_timedelta('15.5us')
Timedelta('0 days 00:00:00.000015500')

解析字符串列表或数组:

>>> pd.to_timedelta(['1 days 06:05:01.00003', '15.5us', 'nan'])
TimedeltaIndex(['1 days 06:05:01.000030', '0 days 00:00:00.000015500', NaT],
               dtype='timedelta64[ns]', freq=None)

通过指定 unit 关键字参数:

>>> pd.to_timedelta(np.arange(5), unit='s')
TimedeltaIndex(['0 days 00:00:00', '0 days 00:00:01', '0 days 00:00:02',
                '0 days 00:00:03', '0 days 00:00:04'],
               dtype='timedelta64[ns]', freq=None)
>>> pd.to_timedelta(np.arange(5), unit='d')
TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'],
               dtype='timedelta64[ns]', freq=None)