【问题标题】:Reverse geocoding for pandas DataFramepandas DataFrame 的反向地理编码
【发布时间】:2019-12-01 01:00:25
【问题描述】:

我们有经度和纬度数据,需要将它们转换为纽约市的邮政编码。 20000行的python包有什么办法吗?

【问题讨论】:

  • 你做过任何研究吗?
  • 当然,我在这上面花了很长时间。它要么需要 API,要么不适用于我需要的行数。很高兴我在这里找到了解决方案,干杯!
  • 请原谅我的怀疑,因为接受的答案是一个库,它实际上是“python lat lon to zip code”的第一个谷歌搜索结果......

标签: python pandas dataframe zip latitude-longitude


【解决方案1】:

uszipcode 包可以满足您的需求。

from uszipcode import SearchEngine
search = SearchEngine(simple_zipcode=True)
from uszipcode import Zipcode
import numpy as np

def get_zipcode(lat, lon):
    result = search.by_coordinates(lat = lat, lng = lon, returns = 1)
    return result[0].zipcode

lat = np.random.uniform(35,45,10)
lon = np.random.uniform(-100, -110, 10)
df = pd.DataFrame({'lat':lat, 'lon':lon})

df['zipcode'] = df.apply(lambda x: get_zipcode(x.lat,x.lon), axis=1)
df

    lat          lon        zipcode
0   35.535132   -104.418912 88421
1   39.949551   -108.999900 81648
2   39.684619   -104.583286 80018
3   42.080516   -104.489692 82243
4   39.944844   -101.249686 67745
5   38.437412   -101.276961 67861
6   38.900596   -105.557827 80820
7   36.879532   -106.541044 87520
8   43.241656   -107.312935 82630
9   41.541356   -103.589179 69345

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多