Python pandas.to_timedelta
·
pd.to_timedelta 是 Pandas 中将各种表示“时间间隔”的数据(如字符串、整数、timedelta对象)统一转换为时间差(Timedelta)对象的函数。
🧠 基本用途
pd.to_timedelta(arg, unit=None)
参数说明:
-
arg:可以是字符串(“1 days”)、整数(如 1、[1, 2])、timedelta对象、Series或DataFrame。 -
unit:当传入的是整数或浮点数时,必须指定单位。常用的单位包括:"D":天(days)"h":小时(hours)"m":分钟(minutes)"s":秒(seconds)"ms":毫秒"us":微秒"ns":纳秒
✅ 示例用法
🎯 示例 1:整数转时间间隔(配合 unit)
import pandas as pd
pd.to_timedelta([1, 2, 3], unit='D')
输出:
TimedeltaIndex(['1 days', '2 days', '3 days'], dtype='timedelta64[ns]', freq=None)
🎯 示例 2:字符串转时间间隔
pd.to_timedelta(['1 days', '2 days 3:00:00', '00:45:00'])
输出:
TimedeltaIndex(['1 days 00:00:00', '2 days 03:00:00', '0 days 00:45:00'], dtype='timedelta64[ns]', freq=None)
🎯 示例 3:与日期相加
df = pd.DataFrame({'year': [2024, 2025], 'day_of_year': [1, 192]})
df['base'] = pd.to_datetime(df['year'].astype(str) + '-01-01')
df['date'] = df['base'] + pd.to_timedelta(df['day_of_year'] - 1, unit='D')
🔁 常见用途
| 场景 | 示例 |
|---|---|
| 生成时间偏移量 | pd.to_timedelta(10, unit="d") |
| 加在时间列上 | df['date'] + pd.to_timedelta(df['offset']) |
| 时间差转字符串 | (df['end'] - df['start']).astype(str) |
更多推荐
所有评论(0)