【问题标题】:How to print GoogleV3 location in pandas如何在 Pandas 中打印 GoogleV3 位置
【发布时间】:2018-03-15 08:53:49
【问题描述】:

我的数据框中有数千个地址,我想在电子表格中逐一粘贴经度和纬度,但我想在数千个地址中自动执行此操作。 这是我之前的代码

from geopy.geocoders import GoogleV3
geolocator = GoogleV3(api_key= "Code")
location = geolocator.geocode("JL.Balitung III")
print((location.latitude, location.longitude))

这是输出

(-6.232012999999999, 106.8087392)

这是我的数据

id  Address 
1   JL.Balitung III
2   Jalan Balitung III
3   Jl Balitung III

这就是我想要的

id  Address                  Latitude               Longitude        
1   JL.Balitung III          -6.232012999999999     106.8087392
2   Jalan Erlangga III       -6.2336678             106.8086881
3   Jalan Senopati           -6.2302063             106.8066563

【问题讨论】:

  • 我只是想让回答者更容易
  • 是的,没有它我无法测试它,所以谢谢。 ;)

标签: python pandas geopy


【解决方案1】:

使用自定义函数并分配给新列:

from geopy.geocoders import GoogleV3
geolocator = GoogleV3(api_key= "code")

def f(x):
    location = geolocator.geocode(x)
    return pd.Series((location.latitude, location.longitude))

df[['Latitude','Longitude']] = df['Address'].apply(f)
print (df)
   id             Address  Latitude   Longitude
0   1     JL.Balitung III -6.232013  106.808739
1   2  Jalan Erlangga III -6.233668  106.808688
2   3      Jalan Senopati -6.230206  106.806656

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 2021-06-12
    • 1970-01-01
    • 2013-06-10
    相关资源
    最近更新 更多