通过向量化加快熊猫的行程

时间:2020-10-06 21:01:27

标签: python pandas

我想遍历站点位置的数据框,然后比较我所有的技术以查看谁是最近的。拥有成千上万个网站和成千上万的技术人员,这需要花费5或6分钟以上的时间才能实现。

在查看改进的解决方案时,我看到每个人都在谈论矢量化,但是我不确定是否可以将此代码进行矢量化。我相信,可以通过从特定站点到技术纬度和经度的整个列应用great_circle函数,将内循环更改为向量化,这有意义吗?任何方向都会有所帮助。

for row in site.itertuples():
    minDistance = 5000
    site_cords = (row.latitude, row.longitude)
    for techrow in tech.itertuples(): 
        tech_id = techrow.ID
        tech_cords = (techrow.latitude, techrow.longitude)
        currDistance = geopy.distance.great_circle(site_cords, tech_cords).miles
        if(currDistance < minDistance):
            minDistance = currDistance
            print("Updating tech id and distance.... ")
            site.at[row.Index,"Tech Distance"] = currDistance
            site.at[row.Index,"Tech ID"] = tech_id

0 个答案:

没有答案