2016-08-19 65 views
0

我已經通過python的建議瞭解並計算出如何計算兩個日期之間的差異,例如, Difference between two dates?。這有效,但...我正在處理數據框中的變量。我敢肯定,我在下面我讀過的意見,但我發現:計算Python數據框中的2個日期之間的差異

TypeError: strptime() argument 1 must be str, not Series 

下面的代碼:

df['DAYSDIFF'] = (datetime.datetime.strptime(df['SDATE'],"%d/%m/%Y") - datetime.datetime.strptime(df['QDATE'],"%d/%m/%Y")) 

再次感謝您的幫助!

回答

0

使用pandas.to_datetime

df["SDATE"] = pd.to_datetime(df["SDATE"], format="%d/%m/%Y") 
df["QDATE"] = pd.to_datetime(df["QDATE"], format="%d/%m/%Y") 

df["DAYSDIFF"] = df["SDATE"] - df["QDATE"] 

因爲datetime.strptime不承認熊貓系列,並期待一個字符串。

+0

謝謝,這是一種享受。雖然DAYSDIFF將以「2天」而不是2號出現。這僅僅是一種格式化的東西? – Angus

+0

是的,這只是一個格式化的東西。有關時間序列數據的更多信息,請閱讀[文檔](http://pandas.pydata.org/pandas-docs/stable/timeseries.html)。 –

+1

您可以用'np.timedelta(1,「D」)'將DAYSDIFF分爲int。 – jdmcbr

相關問題