Python中DataFrame不同类型时间差列与整数列相加报错解决
解决Timedelta与整数相加的类型错误
直接把整数转换成Timedelta类型再相加即可,pandas当前已不再支持纯整数数组与TimedeltaArray直接运算,必须明确将整数转换为对应的时间增量类型。
给你两种可行的写法:
方法1:按天数直接转换
利用pd.to_timedelta指定单位为天,将列b的数值转为Timedelta后再与列a相加:
df['result'] = df['a'] + pd.to_timedelta(df['b'], unit='days')
方法2:按秒数转换(对齐你原思路)
如果想保留先计算总秒数的逻辑,同样用pd.to_timedelta把秒数转为Timedelta:
df['result'] = df['a'] + pd.to_timedelta(df['b'] * 24 * 3600, unit='seconds')
两种方法都能解决类型不兼容的问题,推荐第一种,更直观且不易出错。
内容的提问来源于stack exchange,提问作者Coder
相关产品推荐
相关产品推荐

