dask.dataframe.to_时间差

dask.dataframe.to_时间差

dask.dataframe.to_timedelta(arg: str | float | timedelta, unit: UnitChoices | None = None, errors: DateTimeErrorChoices = 'raise') Timedelta[源代码]
dask.dataframe.to_timedelta(arg: dask.dataframe.core.Series, unit: UnitChoices | None = None, errors: DateTimeErrorChoices = 'raise') dask.dataframe.core.Series
dask.dataframe.to_timedelta(arg: list | tuple | range | ArrayLike | Index, unit: UnitChoices | None = None, errors: DateTimeErrorChoices = 'raise') TimedeltaIndex

将参数转换为 timedelta。

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

参数
参数str, timedelta, 类似列表或 Series

要转换为 timedelta 的数据。

在 2.0 版更改: 带有单位 ‘M’, ‘Y’ 和 ‘y’ 的字符串不代表明确的 timedelta 值,并且会引发异常。

单元str, 可选

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

可能的值:

  • ‘W’

  • ‘D’ / ‘days’ / ‘day’

  • ‘小时’ / ‘小时’ / ‘小时’ / ‘小时’ / ‘小时’

  • ‘m’ / ‘minute’ / ‘min’ / ‘minutes’ / ‘T’

  • ‘s’ / ‘seconds’ / ‘sec’ / ‘second’ / ‘S’

  • ‘ms’ / ‘milliseconds’ / ‘millisecond’ / ‘milli’ / ‘millis’ / ‘L’

  • ‘us’ / ‘microseconds’ / ‘microsecond’ / ‘micro’ / ‘micros’ / ‘U’

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

arg 包含字符串且 errors="raise" 时,不得指定。

2.2.0 版后已移除: 单位 ‘H’, ‘T’, ‘S’, ‘L’, ‘U’ 和 ‘N’ 已被弃用,并将在未来版本中移除。请使用 ‘h’, ‘min’, ‘s’, ‘ms’, ‘us’ 和 ‘ns’ 代替 ‘H’, ‘T’, ‘S’, ‘L’, ‘U’ 和 ‘N’。

错误{‘忽略’, ‘引发’, ‘强制’}, 默认 ‘引发’
  • 如果为 ‘raise’,则无效的解析将引发异常。

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

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

返回
timedelta

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

  • 类似列表:timedelta64 类型的 TimedeltaIndex

  • 系列: timedelta64 数据类型的系列

  • scalar: 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)