在Sframes中使用.apply()来操作每个框架的多个列

2024-04-25 04:48:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含Date1和Date2列的SFrame。在

我试图使用.apply()来查找Date1和Date2之间的datediff,但是我无法找到如何使用另一个参数。在

理想的情况是

frame['new_col'] = frame['Date1'].apply(lambda x: datediff(x,frame('Date2')))

Tags: lambdanew参数情况colframeapply理想
1条回答
网友
1楼 · 发布于 2024-04-25 04:48:23

只需从frame['Date2']中减去frame['Date1'],就可以直接得到Date2列中日期与Date1中日期之间的差异。由于某种原因,它返回两个日期之间的秒数(仅用python的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))

输出:

^{pr2}$

相关问题 更多 >