在列中循环以派生要添加到其他列的值

2024-06-30 15:39:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有代码可以使用Geopy(谷歌V3)查找地址并找到他们的地区名称和城市。目前它只适用于静态地址,我希望能够在包含地址的整个pandas列中循环,并将城市和地区名称输出到每行的不同列

from geopy.geocoders import GoogleV3

address = '1238 Davie St, Vancouver, BC'

geocoder = GoogleV3(api_key='xyzabc')

location = geocoder.geocode(address, language='en')

address_components = location.raw['address_components']

counties = [addr['long_name'] for addr in address_components if 'neighborhood' in addr['types']]
localities = [addr['long_name'] for addr in address_components if 'locality' in addr['types']]

工作正常,但是当我将df['address_original']赋值给address变量时,我只得到第一行的结果

我需要为此构建一个循环,还是有其他方法

我现在得到的结果是

[] [u'Clearwater']

这是df['address_original']列中第一个地址的结果。我想得到列中所有地址的结果


Tags: namein名称forifaddress地址components