pandas.to_timedelta#
- pandas.to_timedelta(arg, unit=None, errors='raise')[源代码][源代码]#
将参数转换为 timedelta。
Timedeltas 是时间上的绝对差异,以差异单位表示(例如天、小时、分钟、秒)。此方法将一个可识别的 timedelta 格式 / 值转换为 Timedelta 类型。
- 参数:
- argstr, timedelta, 类似列表或 Series
要转换为 timedelta 的数据。
在 2.0 版本发生变更: 带有单位 ‘M’, ‘Y’ 和 ‘y’ 的字符串不代表明确的 timedelta 值,并且会引发异常。
- 单元str, 可选
表示数值 arg 的单位。默认为
"ns"
。可能的值:
‘W’
‘D’ / ‘days’ / ‘day’
‘小时’ / ‘小时’ / ‘小时’ / ‘小时’ / ‘小时’
‘m’ / ‘minute’ / ‘min’ / ‘minutes’
‘s’ / ‘seconds’ / ‘sec’ / ‘second’ / ‘S’
‘ms’ / ‘milliseconds’ / ‘millisecond’ / ‘milli’ / ‘millis’
‘us’ / ‘microseconds’ / ‘microsecond’ / ‘micro’ / ‘micros’
‘ns’ / ‘纳秒’ / ‘纳’ / ‘纳秒’ / ‘纳秒’
当 arg 包含字符串且
errors="raise"
时,不得指定。自 2.2.0 版本弃用: 单位 ‘H’ 和 ‘S’ 已被弃用,并将在未来版本中移除。请使用 ‘h’ 和 ‘s’。
- 错误{‘raise’, ‘coerce’}, 默认 ‘raise’
如果是 ‘raise’,那么无效的解析将引发异常。
如果 ‘coerce’,则无效的解析将被设置为 NaT。
- 返回:
- 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)