获取来自网络的数据信息

时间:2013-05-09 23:10:41

标签: python web module pandas

所以我有一个包含2行的数据框,它看起来像这样:

    latitude  longitude
0  39.696103 -84.138461
1  39.696103 -84.138461
2  39.696103 -84.138461
3  39.696103 -84.138461
4  39.696103 -84.138461

请注意,纬度和经度并不总是相同,但显然此时此人处于同一位置

现在有很多在线搜索引擎,我可以给出经纬度,它会告诉我位置。所以我的问题是:

我可以使用哪些模块以及我使用它们能够通过搜索引擎运行这些值,获取输出的位置,并将其放入列表中,以便我可以使用以下代码来制作第三栏:

df['location'] = location_list

完成所有操作后,以下数据框应如此:

    latitude  longitude               location
0  39.696103 -84.138461  Dayton, OH 45429, USA
1  39.696103 -84.138461  Dayton, OH 45429, USA
2  39.696103 -84.138461  Dayton, OH 45429, USA
3  39.696103 -84.138461  Dayton, OH 45429, USA
4  39.696103 -84.138461  Dayton, OH 45429, USA

如果它有用,我会使用this website进行转化

1 个答案:

答案 0 :(得分:3)

如果您要求具体使用您提到的网站LatLong.net,那么答案是没有Python库可以做您要求的事情(除非您想要尝试integrate Python and JavaScript)。

如果你看一下latLong.net页面的源代码,你会发现它完全是基于JavaScript的。第geocoder = new google.maps.Geocoder();行表示他们正在使用Google Geocoding API

如果您想使用Google地理编码API,我建议您搜索相关的答案。以下是一些看似相关的内容:

如果您需要离线解决方案,那么您需要查看可能正在下载shapefile(请参阅Reverse Geocoding Without Web Access)并使用Shapely之类的内容,或者在一组点上使用k-nearest neighbors。对于KNN,您可以使用城市(请参阅geonames)或国家/地区(请参阅我的country.py文件)。