我有一个问题,我有从鹿特丹到汉堡的几次旅行的AIS数据。航线被分成6个扇区,扇区边界是为航线预先定义的,我需要知道一艘船何时何地进入下一个扇区。我尝试只使用扇区内的最后一条记录,但数据的分辨率不够高。所以我想根据扇区边界的纬度插值时间和经度。在
在下图中,您可以看到我为这次旅行确定的边界。过境的经度总是正好在边界线上。我需要确定的是船穿过这条线的纬度。在
我的数据框如下所示:
TripID time Latitude Longitude SectorID
0 42 7 52.9 4.4 1
1 42 8 53.0 4.6 1
2 42 9 53.0 4.7 1
3 42 10 53.1 4.9 2
4 5 9 53.0 4.5 1
5 5 10 53.0 4.7 1
6 5 11 53.2 5.0 2
7 5 12 53.3 5.2 2
其中扇区1和扇区2之间的边界是在经度4.8处预先定义的,所以我想为每次旅行和扇区边界插值经度为4.8的纬度和时间。我猜一个好的解决方案应该包括df.groupby(['TripID', 'SectorID'])
。在
我尝试为每个行程和扇区添加一个条目,该条目只包含扇区边界的纬度,然后使用interpolate
,但是添加这些条目需要我大约一个小时的时间,并且插入缺失的值会立即崩溃。在
我要找的结果应该是这样的:
^{pr2}$我也会很高兴,并且能够得到这样的结果:
TripID SectorID leave_lat leave_lon leave_time
42 1 53.05 4.8 9.5
5 1 53.06 4.8 10.3
如果我对问题的描述不太清楚,请你问。在
既然熊猫队的工作人员没注意到这个好问题,我给你一个解决办法,但要注意一些问题。以下是输入示例,我使用了:
此代码:
^{pr2}$生成以下输出:
^{3}$现在是注意事项。我不知道,怎么把缺行补上。我要问一个问题,怎么做。如果我得到答案,我会在这里更新我的答案。在此之前,副作用是在每个}不会减少,实际上可能不是这样。在
TripID
中为Longitude
排序,并且假设{我用不同的方式解决了这个问题。因为这为我解决了问题,但不是我所要求的确切解决方案,我将接受t先生的回答。为了完整起见,我发布此内容,因此我的解决方案如下:
从我的问题中的数据框
df
开始我用了这个密码
^{pr2}$结果是这样的
^{3}$我希望这有助于那些实际解决方案无法解决问题的人。在
相关问题 更多 >
编程相关推荐