Python 对熊猫进行时间间隔分析的最佳方法是什么?
我试图找到用Python和Pandas进行简单时间间隔分析的最佳方法。这只是为了好玩,所以请随意解释答案,以帮助我了解更多 我从生成一些随机数据开始。首先是时间戳频率为20秒的日期,在2个用户的4个会话的总周期内。用户是123和345 这里的模拟是每20秒一次的快照,以查看用户是否在线Python 对熊猫进行时间间隔分析的最佳方法是什么?,python,pandas,statistics,Python,Pandas,Statistics,我试图找到用Python和Pandas进行简单时间间隔分析的最佳方法。这只是为了好玩,所以请随意解释答案,以帮助我了解更多 我从生成一些随机数据开始。首先是时间戳频率为20秒的日期,在2个用户的4个会话的总周期内。用户是123和345 这里的模拟是每20秒一次的快照,以查看用户是否在线 import pandas as pd session_one = pd.date_range('2016-01-01', periods=100, freq='20S') session_two = pd.d
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方法,但似乎不能复制相互连接的数据集,并用Pandas正确地抵消时间。例如,像这样进行熊猫合并(联接):
df['Timestamp'] + datetime.timedelta(0,20)
我认为您需要通过每个UserID
使用:
耶稣是多么容易。邦基不确定,因为这个问题似乎更复杂。祝你好运是的,没想到.diff()会在下一条记录上迭代以显示时间差,而不是像SQL中那样必须旋转时间来执行DATEDIFF(秒,字段1,字段2)。不,答案是正确的。正在等待Stack让我检查它。:)@jezrael如果我们使用的是一个系列对象而不是一个以“时间戳”为索引的数据帧,即:
pd.Series(df['UserID'].values,index=pd.to_datetime(df['date']))
df['diff'] = df.groupby('UserID')['Timestamp'].diff()