2016-08-19 67 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

相关问题