【发布时间】:2017-08-21 19:29:42
【问题描述】:
我正在使用 Google 距离矩阵 API,我想将数据帧中的坐标输入 API 并返回两点之间的持续时间和距离。 这是我的数据框:
import pandas as pd
import simplejson
import urllib
import numpy as np
Record orig_lat orig_lng dest_lat dest_lng
1 40.7484405 -74.0073127 40.7115242 -74.0145492
2 40.7421218 -73.9878531 40.7727216 -73.9863531
首先,我需要将 orig_lat & orig_lng 和 dest_lat & dest_lng 组合成字符串,然后传入网址。所以我尝试创建变量 orig_coord 和 dest_coord 然后将它们传递到 URL 并返回值:
orig_coord = df[['orig_lat','orig_lng']].apply(lambda x: '{},{}'.format(x[0],x[1]), axis=1)
dest_coord = df[['dest_lat','dest_lng']].apply(lambda x: '{},{}'.format(x[0],x[1]), axis=1)
for row in df.itertuples():
url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins={0}&destinations={1}&units=imperial&MYGOOGLEAPIKEY".format(orig_coord,end_coord)
result = simplejson.load(urllib.urlopen(url))
df['driving_time_text'] = result['rows'][0]['elements'][0]['duration']['text']
但我收到以下错误:“TypeError: () got an unexpected keyword argument 'axis'”
所以我的问题是:如何将两列中的值连接成一个字符串,然后将该字符串传递给一个 URL 并输出结果?
提前谢谢你!
【问题讨论】:
标签: python json google-maps pandas urllib