使用地理编码器迭代 pandas 系列

iterate pandas series with geocoders

我正在尝试遍历 pandas 中的国际地址数据框,将每一行传递给地理编码器、解析并保存结果。但是,每一行都返回相同的结果,我不明白为什么。当我尝试 3327 WEST 2ND AVE VANCOUVER BC V6R,1 之类的示例时,地理编码器会按预期解析值,但此迭代不起作用。

import geocoder
g = 'GOOGLE_API_KEY'

for i, row in df.iterrows():
    result = geocoder.google(df, key=g)
    df.set_value(i, 'address', result.address)
    df.set_value(i, 'city', result.city)
    df.set_value(i, 'state', result.state)
    df.set_value(i, 'postal', result.postal)
    df.set_value(i, 'country', result.country)

您似乎没有在每个 for 循环中更新查询

尝试用 result = geocoder.google(row, key=g)

替换 result = geocoder.google(df, key=g)
import geocoder
g = 'GOOGLE_API_KEY'

for i, row in df.iterrows():
    result = geocoder.google(row, key=g)
    df.set_value(i, 'address', result.address)
    df.set_value(i, 'city', result.city)
    df.set_value(i, 'state', result.state)
    df.set_value(i, 'postal', result.postal)
    df.set_value(i, 'country', result.country)