【问题标题】:getting info for data from the web从网络获取数据信息
【发布时间】:2013-05-04 13:42:03
【问题描述】:

所以我有一个有 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 进行转换

【问题讨论】:

    标签: python web module pandas


    【解决方案1】:

    如果您特别询问使用您提到的网站LatLong.net,那么答案是没有 Python 库可以满足您的要求(除非您想尝试到integrate Python and JavaScript)。

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

    如果您想使用 Google Geocoding API,我建议您搜索相关的答案。以下是一些相关的:

    如果您想要一个离线解决方案,那么您需要考虑下载 shapefile(请参阅Reverse Geocoding Without Web Access)并使用类似Shapely 的东西,或者可能在一组点上使用k-nearest neighbors。对于 KNN,您可以使用城市(参见 geonames)或国家(参见我的 country.py 文件)。

    【讨论】:

    • 这看起来很有希望,但它可以不在服务器上完成,而只在我的本地计算机上完成吗?通过查看链接尚不清楚这是否可能......
    • @RyanSaxe 如果您使用任何类型的 API,那么不,您需要在线连接才能使用它们。我已经用更多细节更新了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多