pyspark.pandas.to_timedelta

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

Convert argument to timedelta.

Parameters
argstr, timedelta, list-like or Series

The data to be converted to timedelta.

unitstr, optional

Denotes the unit of the arg for numeric arg. Defaults to "ns".

Possible values: * ‘W’ * ‘D’ / ‘days’ / ‘day’ * ‘hours’ / ‘hour’ / ‘hr’ / ‘h’ * ‘m’ / ‘minute’ / ‘min’ / ‘minutes’ / ‘T’ * ‘S’ / ‘seconds’ / ‘sec’ / ‘second’ * ‘ms’ / ‘milliseconds’ / ‘millisecond’ / ‘milli’ / ‘millis’ / ‘L’ * ‘us’ / ‘microseconds’ / ‘microsecond’ / ‘micro’ / ‘micros’ / ‘U’ * ‘ns’ / ‘nanoseconds’ / ‘nano’ / ‘nanos’ / ‘nanosecond’ / ‘N’

Must not be specified when arg context strings and errors="raise".

errors{‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’
  • If ‘raise’, then invalid parsing will raise an exception.

  • If ‘coerce’, then invalid parsing will be set as NaT.

  • If ‘ignore’, then invalid parsing will return the input.

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

See also

DataFrame.astype

Cast argument to a specified dtype.

to_datetime

Convert argument to datetime.

Notes

If the precision is higher than nanoseconds, the precision of the duration is truncated to nanoseconds for string inputs.

Examples

Parsing a single string to a Timedelta:

>>> 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')

Parsing a list or array of strings:

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

Converting numbers by specifying the unit keyword argument:

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