2
我有以下数据框:计算由特定的列分组的项目之间的平均时间差
userid | time
1 22.01.2001 13:00
1 22.01.2001 13:05
1 22.01.2001 13:07
2 22.01.2001 14:00
2 22.01.2001 14:04
2 22.01.2001 13:05
2 22.01.2001 13:06
3 22.01.2001 13:20
3 22.01.2001 13:22
4 22.01.2001 13:37
我想获得每用户存储的连续行为之间的平均时间差新列:
userid | avg_time_diff
1 3.5 #(5 + 2)/2
2 2 #(4 + 1 + 1)/3
3 2
4 0
要做到这一点,我需要循环低谷每个用户,并逐一计算平均时差吗?或者,有没有更快的方法来达到同样的结果?
的差异谢谢。请问lambda中'x'的类型是什么?这是一系列日期吗?如果是这样,'.diff()'的结果是什么?我很感激,如果你可以提供更多的细节,以便下次我可以自己做:) – renakre
@renakre,当然!你可以这样检查:'df.groupby('userid')['time']。apply(lambda x:print(x.dtypes))'或'df.groupby('userid')['time'] .apply(lambda x:print(type(x)))' – MaxU
@renakre,我已经添加了解释 – MaxU