将gmaps.distance矩阵从字典转换为矩阵

时间:2019-04-04 13:21:41

标签: python pandas google-maps

我正在尝试确定地址之间的距离。作为字典撤回的数据可以正常工作,它将数据转换为我不知道的可读格式。一个问题是源地址和目的地址的数量不同,这导致我在尝试从字典转换为数据帧时遇到错误。我能够在数据框中生成一个迭代,但是我不知道如何立即转换整个gmaps.distance_matrix。

我尝试了以下操作:

使用pd.DataFrame将gmaps.distance_matrix输出转换为数据框

将gmaps.distance_matrix输出转换为numpy数组,然后使用pd.DataFrame转换为数据框

使用行,元素,距离和值为字典建立索引,但是只会产生一个结果(我尝试使用[0:]拉动所有实例,但是给出了错误“列表索引必须是integets或slices,不是str“

我确定我已经尝试了一些其他方法,但是未能使其正常工作。

my_dist = gmaps.distance_matrix(discharge,rehab)
my_dist_df = pd.DataFrame(my_dist) <--creates an error

输出为:

{'destination_addresses': ['destination address 1',
  'destination address 2','destination address 3',
  'destination address 4'],
 'origin_addresses': ['origin address 1',
  'origin address 2','origin address 3'],
 'rows': [{'elements': [{'distance': {'text': '18.4 km', 'value': 18382},
     'duration': {'text': '19 mins', 'value': 1133},
     'status': 'OK'},
    {'distance': {'text': '16.8 km', 'value': 16782},
     'duration': {'text': '19 mins', 'value': 1166},
     'status': 'OK'},

我希望生成一个输出,其中起始地址位于一行,目标地址位于一列,两者之间的关联英里数作为矩阵,但是相反,我要么得到NaN要么出现各种错误,包括“数组必须全部为相同的长度”,“不可散列的类型:'dict'等...

0 个答案:

没有答案
相关问题