从 For 循环结果向数据框添加值

路易斯·雅各布

我有这个数组:

头巾

array([['Altos de Arroyo Hondo ,Santo Domingo'],
       ['Arroyo Manzano ,Santo Domingo'],
       ['Atala ,Santo Domingo'],
       ['Bella Vista ,Santo Domingo'],
       ['Buenos Aires-Independencia ,Santo Domingo'],
       ['Cacique ,Santo Domingo'],
       ['Centro de los Héroes ,Santo Domingo'],
       ['Centro Olímpico Duarte ,Santo Domingo'],
       ['Cerros de Arroyo Hondo ,Santo Domingo'],
       ['Ciudad Colonial ,Santo Domingo'],
       ['Ciudad Nueva ,Santo Domingo'],
       ['Veinticuatro de Abril ,Santo Domingo'],
       ['Viejo Arroyo Hondo ,Santo Domingo'],
       ['Villa Consuelo ,Santo Domingo'],
       ['Villa Francisca ,Santo Domingo'],
       ['Villa Juana ,Santo Domingo'],
       ['Villas Agricolas ,Santo Domingo'],
       ['Distrito Nacional ,Santo Domingo']], dtype=object)

我创建了一个空的数据框:

hoods_located  = pd.DataFrame(columns =['Neighborhood', 'Latitude', 'Longitude'])

我想要完成的是从这个 for 循环的结果中在该数据框中插入值:

for i in hoods:
    geolocator
    location = geolocator.geocode(i)
    latitude = location.latitude
    longitude = location.longitude
    hoods_located.append({'Neighborhood': i, 'Latitude': latitude, 'Longitude': longitude}, ignore_index=True)

使用 Geopy,for 循环为 hoods 数组的每个值查找 Lat 和 Lon,但无法弄清楚如何将这些值附加到新数据框 hoods_located。

谢谢。

sammywemmy

我建议您使用defaultdict您的数据放入字典中,然后直接读入数据帧;它还消除了创建空数据框来填充的需要:

from collections import defaultdict
d = defaultdict(list)

#iterate through hood list and create dictionary
for Neighbourhood in hoods:
    location = geolocator.geocode(Neighbourhood)
    d['latitude'].append(location.latitude)
    d['longitude'].append(location.longitude)
    d['Neighbourhood'].append(Neighbourhood)

 #read into dataframe
 pd.DataFrame(d)

只是在这里使用你的代码,我可能错过了一步或更多......让我知道它是否有效

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章