pyspark.pandas.to_timedelta

pyspark.pandas. to_timedelta ( arg , unit : Optional [ str ] = None , errors : str = 'raise' ) [source]

将参数转换为时间差。

Parameters
arg str, timedelta, list-like or Series

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

unit str, optional

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

可能的值: * ‘W’ * ‘D’ / ‘天’ / ‘天’ * ‘小时’ / ‘小时’ / ‘小时’ / ‘h’ * ‘m’ / ‘分钟’ / ‘分钟’ / ‘分钟’ / ‘T’ * ‘S’ / ‘秒’ / ‘秒’ / ‘秒’ * ‘ms’ / ‘毫秒’ / ‘毫秒’ / ‘毫秒’ / ‘毫秒’ / ‘L’ * ‘us’ / ‘微秒’ / ‘微秒’ / ‘微秒’ / ‘微秒’ / ‘U’ * ‘ns’ / ‘纳秒’ / ‘纳秒’ / ‘纳秒’ / ‘纳秒’ / ‘N’

arg 上下文字符串和 errors="raise" 时,不得指定。

errors {‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’
  • 如果为‘raise’,则无效解析将引发异常。

  • 如果为‘coerce’,则无效解析将被设置为NaT。

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

Returns
ret timedelta64, TimedeltaIndex or Series of timedelta64 if parsing succeeded.

另请参阅

DataFrame.astype

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

to_datetime

将参数转换为日期时间。

注释

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

示例

解析单个字符串为时间增量:

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

解析字符串列表或数组:

>>> ps.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)

通过指定 单位 关键字参数进行数字转换:

>>> ps.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)
>>> ps.to_timedelta(np.arange(5), unit='d')  
TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'],
               dtype='timedelta64[ns]', freq=None)