Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.to_timedelta方法的使用。

pandas.to_timedelta(arg, unit='ns', box=True, errors='raise')                   [source]

将参数转换为timedelta

时间增量是时间上的绝对差异,以差异单位(例如 days, hours, minutes, seconds)表示。此方法将参数从公认的timedelta格式/值转换为Timedelta类型。

参数

arg : strtimedelta

类似listSeries

要转换为timedelta的数据。

unit : str,默认'ns'

表示arg的单位。可能的值:

(‘Y’, ‘M’, ‘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’)

box : bool,默认为True

如果为True,则返回结果的Timedelta/TimedeltaIndex

如果为False,如果False返回一个numpy.timedelta64

dtype timedelta64[ns]值的numpy.darray

从0.25.0版开始不推荐使用:

Series.to_numpy()

Timedelta.to_timedelta64() 

分别获取值的ndarraynumpy.timedelta64

errors : {'ignore','raise','coerce'},默认为'raise'

如果为 'raise',则无效的解析将引发异常。

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

如果为 'ignore',则无效的解析将返回输入。

返回值

timedelta64timedelta64numpy.array

如果解析成功,则返回输出类型。

例子

将单个字符串解析为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.000015')

解析字符串列表或数组:

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

通过指定unit关键字参数来转换数字:

>>> pd.to_timedelta(np.arange(5), unit='s')
TimedeltaIndex(['00:00:00', '00:00:01', '00:00:02',
'00:00:03', '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)

通过使用'box'关键字参数返回ndarray:

>>> pd.to_timedelta(np.arange(5), box=False)
array([0, 1, 2, 3, 4], dtype='timedelta64[ns]')