栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用geopy pandas具有坐标的新列

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用geopy pandas具有坐标的新列

您可以

apply
在每一行上调用并传递要执行的函数,如下所示:

In [9]:geolocator = Nominatim()df['city_coord'] = df['state_name'].apply(geolocator.geopre)dfOut[9]:    city_name state_name       county_name    WASHINGTON         DC  DIST OF COLUMBIA   1  WASHINGTON         DC  DIST OF COLUMBIA         city_coord  0  (District of Columbia, United States of Americ...  1  (District of Columbia, United States of Americ...

然后,您可以访问纬度和经度属性:

In [16]:df['city_coord'] = df['city_coord'].apply(lambda x: (x.latitude, x.longitude))dfOut[16]:    city_name state_name       county_name city_coord0  WASHINGTON         DC  DIST OF COLUMBIA  (38.8937154, -76.9877934586326)1  WASHINGTON         DC  DIST OF COLUMBIA  (38.8937154, -76.9877934586326)

或在同一班轮中致电

apply
两次:

In [17]:df['city_coord'] = df['state_name'].apply(geolocator.geopre).apply(lambda x: (x.latitude, x.longitude))dfOut[17]:    city_name state_name       county_name city_coord0  WASHINGTON         DC  DIST OF COLUMBIA  (38.8937154, -76.9877934586326)1  WASHINGTON         DC  DIST OF COLUMBIA  (38.8937154, -76.9877934586326)

同样,您的尝试

geolocator.geopre(lambda row: 'state_name'(row))
也无济于事,因此,为什么您有一个充满
None
价值的栏目

编辑

@leb在这里提出了一个有趣的观点,如果您有很多重复的值,则对每个唯一值进行地理编码然后再添加以下代码会更有效:

In [38]:states = df['state_name'].unique()d = dict(zip(states, pd.Series(states).apply(geolocator.geopre).apply(lambda x: (x.latitude, x.longitude))))dOut[38]:{'DC': (38.8937154, -76.9877934586326)}In [40]:    df['city_coord'] = df['state_name'].map(d)dfOut[40]:    city_name state_name       county_name city_coord0  WASHINGTON         DC  DIST OF COLUMBIA  (38.8937154, -76.9877934586326)1  WASHINGTON         DC  DIST OF COLUMBIA  (38.8937154, -76.9877934586326)

因此,上述方法使用来获取所有唯一值

unique
,并从中构造一个字典,然后调用
map
执行查找并添加坐标,这比尝试按行对地址进行地理编码更为有效



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516731.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号