我有数据帧
site1 time1 site2 time2 site3 time3 site4 time4 site5 time5 ... time6 site7 time7 site8 time8 site9 time9 site10 time10 target
session_id
21669 56 2013-01-12 08:05:57 55.0 2013-01-12 08:05:57 NaN NaT NaN NaT NaN NaT ... NaT NaN NaT NaN NaT NaN NaT NaN NaT 0
54843 56 2013-01-12 08:37:23 55.0 2013-01-12 08:37:23 56.0 2013-01-12 09:07:07 55.0 2013-01-12 09:07:09 NaN NaT ... NaT NaN NaT NaN NaT NaN NaT NaN NaT 0
77292 946 2013-01-12 08:50:13 946.0 2013-01-12 08:50:14 951.0 2013-01-12 08:50:15 946.0 2013-01-12 08:50:15 946.0 2013-01-12 08:50:16 ... 2013-01-12 08:50:16 948.0 2013-01-12 08:50:16 784.0 2013-01-12 08:50:16 949.0 2013-01-12 08:50:17 946.0 2013-01-12 08:50:17 0
我需要计算最后一次和第一次之间的差异。在
期望输出(转换为秒)
^{pr2}$我可以对每一对进行合并
df['diff1'] = df['time1'] - df['time2']
...
但是有什么方法可以更快地完成吗?在
使用:
times
Series
获取值
^{pr2}$numpy alternative
:更一般的^{} 解决方案-按^{} 选择第一列和最后一列:
在dataframe上使用
.ffill()
和time
列:target
pd.MultiIndex
groupby
'session_id'
然后使用'first'
和{pipe
方便地将结果传递给一个为我减法的函数相关问题 更多 >
编程相关推荐