pd.to_timedelta 是 Pandas 中将各种表示“时间间隔”的数据(如字符串、整数、timedelta对象)统一转换为时间差(Timedelta)对象的函数。


🧠 基本用途

pd.to_timedelta(arg, unit=None)

参数说明:

  • arg:可以是字符串(“1 days”)、整数(如 1、[1, 2])、timedelta 对象、SeriesDataFrame

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

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐