我正在查看以下内容以计算每个用户在每个位置花费的时间。
它运行良好,但问题是显示 -4.0
的行。这是一个新用户,这是他们被识别的第一个国家 - 在我看到他们移动国家之前,我无法计算他们在该位置的时间长度。
对于每个用户的第一个位置,我需要将结果设置为 NaN,就像用户 1 一样。
这可能吗?
df2['time_in_loc'] = df2['hour'] - df2['hour'].shift(1)
In [36]: df2
Out[36]:
hour hop time_in_loc
userid country
82718927392 UK 0 1 NaN
Spain 2 2 2.0
Portugal 4 3 2.0
47294872934 India 0 1 -4.0
UK 15 2 15.0
最佳答案
你可以用diff
检查groupby
df.groupby(level=0).diff()
关于python - 了解每个用户的位置时间 : using the shift function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53048715/