下面我有一个数据框,显示了每辆车(车号)将如何按照特定的顺序访问不同的地点(地点编号)(在路线中的位置)。在
place_id Lat Lon Vehicle_ID Pos_in_route
0 51.4457678 -0.45613 0 0
1 52.497911 -1.903832 0 1
2 52.332395 -1.346753 0 2
0 51.4457678 -0.45613 0 3
0 51.4457678 -0.45613 1 0
4 52.110728 -0.463547 1 1
3 52.276323 -1.579845 1 2
5 52.423667 -0.609697 1 3
0 51.4457678 -0.45613 1 4
现在,我尝试添加另外两列,根据列(Pos_in_route)显示先前访问过的地点(prior_lat,prior_lon)的GPS坐标。如果没有地点的先前位置,它将是它自己(即地点_id=0)
^{pr2}$这是我程序的一小部分,但我很难展示完整的代码。也许有一种简单的方法可以在我的程序末尾添加最后两列?在
您可以使用
GroupBy
+shift
,然后使用bfill
:或者,您可以使用
^{pr2}$fillna
代替bfill
:使用^{} 如下:
这是将整个数据帧重新连接到自身,但为了使
Pos_in_route
列的相同实例没有联接,下一个可用的实例将被联接。在要完成此操作,您需要删除不需要的
prior
列。在相关问题 更多 >
编程相关推荐