pandas.to_timedelta#
- pandas.to_timedelta(arg, unit=None, errors='raise')[源代码]#
将参数转换为 timedelta。
Timedeltas 是时间之间的绝对差,以时间单位(例如天、小时、分钟、秒)表示。此方法将参数从已识别的 timedelta 格式/值转换为 Timedelta 类型。
- Parameters:
- arg字符串、timedelta、类列表或 Series
要转换为 timedelta 的数据。
在 2.0 版本发生变更: 带有单位 ‘M’、’Y’ 和 ‘y’ 的字符串不能代表明确的 timedelta 值,将引发异常。
- unitbool, default False
对于数值 arg,表示 arg 的单位。默认为
"ns"。可能的值:
‘W’
‘D’ / ‘days’ / ‘day’
‘hours’ / ‘hour’ / ‘hr’ / ‘h’ / ‘H’
‘m’ / ‘minute’ / ‘min’ / ‘minutes’ / ‘T’
‘s’ / ‘seconds’ / ‘sec’ / ‘second’ / ‘S’
‘ms’ / ‘milliseconds’ / ‘millisecond’ / ‘milli’ / ‘millis’ / ‘L’
‘us’ / ‘microseconds’ / ‘microsecond’ / ‘micro’ / ‘micros’ / ‘U’
‘ns’ / ‘nanoseconds’ / ‘nano’ / ‘nanos’ / ‘nanosecond’ / ‘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’。
- errors{‘ignore’, ‘raise’, ‘coerce’},默认为 ‘raise’
如果为 ‘raise’,则无效解析将引发异常。
如果为 ‘coerce’,则无效解析将设置为 NaT。
如果为 ‘ignore’,则无效解析将返回输入。
- Returns:
- timedelta
如果解析成功。返回类型取决于输入:
类列表:timedelta64 dtype 的 TimedeltaIndex
Series:timedelta64 dtype 的 Series
标量:Timedelta
参见
DataFrame.astype将参数转换为指定的dtype。
to_datetime将参数转换为 datetime。
convert_dtypes转换dtype。
Notes
如果精度高于纳秒,则对于字符串输入,持续时间的精度将被截断为纳秒。
Examples
解析单个字符串到 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)