gpt4 book ai didi

python - 在python中定位两条轨迹的交点

转载 作者:行者123 更新时间:2023-12-02 16:12:11 24 4
gpt4 key购买 nike

我试图找到两条飞行轨迹的交点,一旦找到交点,我就需要两条轨迹在交点处的索引。我为此编写了以下代码(针对一对航类、fa 和 fb)-

import time

t0 = time.time()

for i in range(len(fa)):
for j in range(len(fb)):
if fa.iloc[i]['longitude'] == fb.iloc[j]['longitude'] and fa.iloc[i]['latitude'] == fb.iloc[j]['latitude']:
print(i,j,fa.iloc[i]['longitude'], fa.iloc[i]['latitude'])
t1 = time.time()

这在计算上非常昂贵(计算它几乎需要 20 秒)并且当我有数百个飞行对时会花费很多时间。我相信会有更快的方法来做到这一点,我非常感谢对此的投入。

两个DataFrame具有相同的以下结构-

fa = pd.DataFrame([[14:07:05, 106.535, 2.524], [14:07:10, 106.525,2.526]], columns=['time', 'longitude', 'latitude'])
fb = pd.DataFrame([[14:00:05, 107.306, 3.722], [14:00:10, 107.296,3.718]], columns=['time', 'longitude', 'latitude'])

我刚刚包含了两行数据以更好地描述问题。

最佳答案

我假设 fa 和 fb 都是两个 df,你需要纬度和经度相等的索引然后你可以试试 np.where

fa[match] = np.where((fa['latitude']==fb['latitude'] and fa['longitude']==fb['longitude']), 'True', 'False')

如果两者都匹配,这将插入 True,否则为 false,然后直接打印匹配为 true 的那些值

关于python - 在python中定位两条轨迹的交点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67681345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com