当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pandas.to_timedelta用法及代码示例


用法:

pandas.to_timedelta(arg, unit=None, errors='raise')

将参数转换为 timedelta。

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

参数

argstr、timedelta、list-like 或系列

要转换为 timedelta 的数据。

unitstr,可选

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

可能的值:

  • ‘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’

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

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

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

返回

时间增量

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

  • list-like:timedelta64 dtype 的TimedeltaIndex

  • 系列:timedelta64 dtype 系列

  • 标量:时间增量

注意

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

例子

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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.to_timedelta。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。