2
我试图找到最好的方法来与Python和大熊猫进行简单的时间间隔分析。这只是为了好玩,所以请随时解释答案,以帮助我了解更多。用熊猫进行时差分析的最佳方法是什么?
我开始时会产生一些随机数据。首先是两个用户在4个会话的总时间段内时间戳记频率为20秒的日期。用户是123和345
这里的仿真是快照每20秒钟,看看用户是否在线。
import pandas as pd
session_one = pd.date_range('2016-01-01', periods=100, freq='20S')
session_two = pd.date_range('2016-02-01', periods=75, freq='20S')
session_three = pd.date_range('2016-01-01', periods=125, freq='20S')
session_four = pd.date_range('2016-02-01', periods=25, freq='20S')
user_one = [session_one, session_two]
user_two = [session_three, session_four]
data = []
for sessions in user_one:
for dates in sessions:
data.append([123,dates])
for sessions in user_two:
for dates in sessions:
data.append([345,dates])
# Make our dataframe with our randomly generated data
df = pd.DataFrame(data=data, columns=['ID', 'Timestamp'])
努力实现
我要测量每个用户记录之间的时间间隔,并追加回来的纪录。
SQL方法
我有一个很好的SQL方法,但似乎无法复制加盟ontop的数据集彼此,并与大熊猫正确抵消倍。例如,做一个熊猫合并(加入)喜欢这样:
df['Timestamp'] + datetime.timedelta(0,20)
如何容易,这是耶稣。 * bonk * – Fastidious
我不确定,因为问题似乎更复杂。祝你好运! – jezrael
是的,没有想到.diff()会遍历下一个记录,以显示时间差,而不必像在SQL中那样轮换时间来执行类似DATEDIFF(SECONDS,field1,field2)的操作。 – Fastidious