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