如何为pandas DataFrame的TimedeltaIndex添加时间偏移量
解决方案
下面提供两种常用的正确实现方式,都可以给索引添加500毫秒偏移:
方案1:直接构造指定时长的Timedelta(更推荐,语义清晰)
直接用pandas的Timedelta类指定偏移的时间单位,不需要依赖索引本身的频率:
import pandas as pd # 直接添加500毫秒偏移 dfN.index += pd.Timedelta(milliseconds=500)
方案2:使用索引自带的频率属性计算(对应报错提示的方案)
你的索引频率freq='100L'代表100毫秒,500毫秒对应5个频率单位,按报错提示的写法实现:
# 5个频率单位 * 单单位时长100毫秒 = 总偏移500毫秒 dfN.index += 5 * dfN.index.freq
报错原因说明
pandas高版本取消了整数和TimedeltaIndex直接加减的支持,因为整数没有时间单位信息,无法判断偏移的量级,必须明确传入Timedelta类型的偏移量。
内容的提问来源于stack exchange,提问作者MarK
相关产品推荐
相关产品推荐

