驾驶持续时间和距离-Python

驾驶持续时间和距离-Python,python,json,pandas,google-maps,Python,Json,Pandas,Google Maps,我通过与SQL数据库建立了连接,并将数据加载到数据框中。 大约有10000行数据。我有两列包含地址;一列包含“目的地”,一列包含“来源地” 我一直在想办法使用GoogleMapsAPI获取a-b之间的距离,并遍历每一行 我有一个包含我的数据的数据帧df。 df['Destination']包含目的地和df['Origin']起点 使用下面的方法,我可以在json中获得目的地和持续时间,但我只能提取路由的持续时间和距离,然后迭代10.000行,同时仍然知道google maps的API限制 imp

我通过与SQL数据库建立了连接,并将数据加载到数据框中。 大约有10000行数据。我有两列包含地址;一列包含“目的地”,一列包含“来源地”

我一直在想办法使用GoogleMapsAPI获取a-b之间的距离,并遍历每一行

我有一个包含我的数据的数据帧df。 df['Destination']包含目的地和df['Origin']起点

使用下面的方法,我可以在json中获得目的地和持续时间,但我只能提取路由的持续时间和距离,然后迭代10.000行,同时仍然知道google maps的API限制

import requests, json 
api_key = 'abcd'
url = 'https://maps.googleapis.com/maps/api/directions/json?' 
origin= 'Input from Dataframe'
destination = 'Input from Dataframe' 
navrequest = 'origin={}&destination={}&key={}'format(origin,destination,api_key) 
request = url + navrequest 
r = requests.get(request) 
x = r.json() 
print(x) 
现在,如果我在上面做了,那么我会得到一条路由的整个json输出,但是我想在所有行上循环,得到行程和距离(km)的总持续时间,然后将这些输出保存在两个新列中的数据帧中

有什么意见吗?非常感谢


谢谢

我几乎可以肯定这将超过谷歌API的限制,除非你有订阅,即使如此……我有API订阅,并且每天都会低于限制。运行所有行需要几天的时间。实际上,我正在考虑一个矩阵,但您只需要执行10000个查询。那么,你关心的限制是什么?是每秒查询数吗?我强烈推荐一个自托管的OSRM实例。如果您使用的是Linux,它的设置时间为10分钟,一般来说已经足够好了。具体来说,您依靠Google API包含哪些内容?交通?使用窗户。OSM也可以工作。只需要两个地址之间的距离和持续时间。