pyspark.pandas.to_timedelta ¶
-
pyspark.pandas.
to_timedelta
( arg , unit : Optional [ str ] = None , errors : str = 'raise' ) [source] ¶ -
将参数转换为时间差。
- Parameters
-
- arg str, timedelta, list-like or Series
-
要转换为时间增量的数据。
- unit str, optional
-
表示数值 arg 的单位。默认为
"ns"
。可能的值: * ‘W’ * ‘D’ / ‘天’ / ‘天’ * ‘小时’ / ‘小时’ / ‘小时’ / ‘h’ * ‘m’ / ‘分钟’ / ‘分钟’ / ‘分钟’ / ‘T’ * ‘S’ / ‘秒’ / ‘秒’ / ‘秒’ * ‘ms’ / ‘毫秒’ / ‘毫秒’ / ‘毫秒’ / ‘毫秒’ / ‘L’ * ‘us’ / ‘微秒’ / ‘微秒’ / ‘微秒’ / ‘微秒’ / ‘U’ * ‘ns’ / ‘纳秒’ / ‘纳秒’ / ‘纳秒’ / ‘纳秒’ / ‘N’
当 arg 上下文字符串和
errors="raise"
时,不得指定。 - errors {‘ignore’, ‘raise’, ‘coerce’}, default ‘raise’
-
-
如果为‘raise’,则无效解析将引发异常。
-
如果为‘coerce’,则无效解析将被设置为NaT。
-
如果为‘ignore’,则无效解析将返回输入。
-
- Returns
-
- ret timedelta64, TimedeltaIndex or Series of timedelta64 if parsing succeeded.
另请参阅
-
DataFrame.astype
-
将参数转换为指定的数据类型。
-
to_datetime
-
将参数转换为日期时间。
注释
如果精度高于纳秒,则对于字符串输入,持续时间的精度将被截断为纳秒。
示例
解析单个字符串为时间增量:
>>> ps.to_timedelta('1 days 06:05:01.00003') Timedelta('1 days 06:05:01.000030') >>> ps.to_timedelta('15.5us') Timedelta('0 days 00:00:00.000015500')
解析字符串列表或数组:
>>> ps.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)
通过指定 单位 关键字参数进行数字转换:
>>> ps.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) >>> ps.to_timedelta(np.arange(5), unit='d') TimedeltaIndex(['0 days', '1 days', '2 days', '3 days', '4 days'], dtype='timedelta64[ns]', freq=None)