我试图找到以下帧的两列之间的时间差异:查找DataFrame中两列之间的时间差
测试日期|测试类型|初次使用日期
我用下面的函数定义中,以区别:
def days_between(d1, d2):
d1 = datetime.strptime(d1, "%Y-%m-%d")
d2 = datetime.strptime(d2, "%Y-%m-%d")
return abs((d2 - d1).days)
并能正常工作,但它不采取一系列作为输入。所以我不得不建立一个for循环遍历指数:
age_veh = []
for i in range(0, len(data_manufacturer)-1):
age_veh[i].append(days_between(data_manufacturer.iloc[i,0], data_manufacturer.iloc[i,4]))
但是,它返回一个错误: IndexError:列表索引超出范围
我不知道它是否是正确的方式做什么,我做错了什么或替代解决方案将不胜感激。请记住我有大约2百万行。
为什么你不只是将列转换为日期时间,然后只是减去列? 'df ['Test Date'] = pd.to_datetime(df ['Test Date']'等等,然后'df ['Test Date'] - df ['First Use Date']'会返回一个timedelta – EdChum
应该这样做,谢谢! –