python - 了解每个用户的位置时间 : using the shift function

标签 python python-3.x pandas

我正在查看以下内容以计算每个用户在每个位置花费的时间。

它运行良好,但问题是显示 -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/

相关文章:

python - 图像实际上是如何用 skimage (Python) 保存的

python-3.x - 客户端 websocket 通过代理连接

python - 使用 Pandas 计算一组计数的情况

python - Pandas 不断从 HTML 输入中创建列表而不是 DataFrame

python - 在数据框的不同轴上绘制多个图形

python - 将 LinearSVC 的决策函数转换为概率(Scikit learn python)

python - 在 Python 中从字符串的开头或结尾删除字符

Python IPC - Twisted、RabbitMQ、

python - 将列表列表转换为具有多个键值的字典

python - 如何将浮点格式保存为带有两位小数的百分比的pandas数据框