我想以YYYY-MM-DD格式计算两个日期之间的差异。当我写df [“diff”] = df [“date1”] - df [“date2”]时,我得到一个75天的值,我无法排序。
如何编写它以便我映射到函数calc_diff(date1,date2)其中
def calc_diff(date1,date2):
x = float(date2-date1)
return x
即。我df [“diff”] = df [“date1”],df [“date2”]。map(calc_diff)
当我写下以下内容时,我得到:
df["until_payable"] = map(calc_diff, df["ex_div_date"], "date_payable")
def calc_diff(d1,d2):
y = pd.to_datetime(d1)
x = pd.to_datetime(d2)
return x-y
错误:
<ipython-input-167-b151c936730f> in calc_diff(d1, d2)
39 y = pd.to_datetime(d1)
40 x = pd.to_datetime(d2)
---> 41 return x-y
42
43 #convert the data in columns to data types
pandas/tslib.pyx in pandas.tslib._Timestamp.__sub__ (pandas/tslib.c:17620)()
TypeError: descriptor '__sub__' requires a 'datetime.datetime' object but received a 'str'
答案 0 :(得分:0)
如果我理解正确,那么解决问题的方法是:
res = map(calc_diff, date1, date2)
请注意,date1
和date2
的长度应相同