我試圖找到以下幀的兩列之間的時間差異:查找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
應該這樣做,謝謝! –