我有一个 pandas 数据框,其中一列表示另一列中的位置值是否在其下方的行中发生更改。举个例子,
2013-02-05 19:45:00 (39.94, -86.159) True
2013-02-05 19:50:00 (39.94, -86.159) True
2013-02-05 19:55:00 (39.94, -86.159) False
2013-02-05 20:00:00 (39.777, -85.995) False
2013-02-05 20:05:00 (39.775, -85.978) True
2013-02-05 20:10:00 (39.775, -85.978) True
2013-02-05 20:15:00 (39.775, -85.978) False
2013-02-05 20:20:00 (39.94, -86.159) True
2013-02-05 20:30:00 (39.94, -86.159) False
所以,我想做的是逐行浏览这个数据框并检查带有False
。然后(可能会添加另一列)其中包含在该地方花费的总“连续”时间。可以像上面的示例一样再次访问同一地点。在这种情况下,它被视为一个单独的条件。因此,对于上面的例子,类似:
2013-02-05 19:45:00 (39.94, -86.159) True 0
2013-02-05 19:50:00 (39.94, -86.159) True 0
2013-02-05 19:55:00 (39.94, -86.159) False 15
2013-02-05 20:00:00 (39.777, -85.995) False 5
2013-02-05 20:05:00 (39.775, -85.978) True 0
2013-02-05 20:10:00 (39.775, -85.978) True 0
2013-02-05 20:15:00 (39.775, -85.978) False 15
2013-02-05 20:20:00 (39.94, -86.159) True 0
2013-02-05 20:25:00 (39.94, -86.159) False 10
然后,我将绘制每天使用 hist() 函数所花费的“连续”时间的直方图。如何通过迭代数据帧从第一个数据帧获取第二个数据帧?我是 python 和 pandas 的新手,真实的数据文件很大,所以我需要一些相当有效的东西。