我有一个包含 Date1 和 Date2 列的 SFrame。
我试图用来.apply()
查找 Date1 和 Date2 之间的 datediff,但我不知道如何使用另一个参数。
理想情况下像
frame['new_col'] = frame['Date1'].apply(lambda x: datediff(x,frame('Date2')))
您可以通过从中减去直接获取列中日期Date2
和中日期之间的差异。出于某种原因,它返回两个日期之间的秒数(仅使用 python 的对象进行测试),您可以使用简单的算术将其转换为天数:Date1
frame['Date1']
frame['Date2']
datetime
from sframe import SFrame
from datetime import datetime, timedelta
mydict = {'Date1':[datetime.now(), datetime.now()+timedelta(2)],
'Date2':[datetime.now()+timedelta(10), datetime.now()+timedelta(17)]}
frame = SFrame(mydict)
frame['new_col'] = (frame['Date2'] - frame['Date1']).apply(lambda x: x//(60*60*24))
输出:
+----------------------------+----------------------------+---------+
| Date1 | Date2 | new_col |
+----------------------------+----------------------------+---------+
| 2016-10-02 21:12:14.712556 | 2016-10-12 21:12:14.712574 | 10.0 |
| 2016-10-04 21:12:14.712567 | 2016-10-19 21:12:14.712576 | 15.0 |
+----------------------------+----------------------------+---------+