-1

我有一组同时缺少地理位置名称和坐标的数据集。我想填补空白,以便我可以继续对数据进行未来分析。该数据集是从 twitter 收集的,因此它不是创建的数据,但这就是数据的来源,我需要以某种方式填补空白并继续进行未来的分析。

选项 1:我可以使用userLocation和中的任何一个userTimezone来查找coordinates

输入:

userLocation,   userTimezone,   Coordinates,
India,          Hawaii,    {u'type': u'Point', u'coordinates': [73.8567, 18.5203]}
California,     USA     
          ,     New Delhi,  
Ft. Sam Houston,Mountain Time (US & Canada),{u'type': u'Point', u'coordinates': [86.99643, 23.68088]}
Kathmandu,Nepal, Kathmandu, {u'type': u'Point', u'coordinates': [85.3248024, 27.69765658]}

预期产出

userLocation,  userTimezone,   Coordinates_one, Coordinates_two
    India,          Hawaii,         73.8567,         18.5203
    California,     USA,            [fill this]      [fill this]
    [Fill this],    New Delhi,      [fill this]      [fill this]
    Ft. Sam Houston,Mountain Time (US & Canada), 86.99643, 23.68088
    Kathmandu,      Kathmandu,      85.3248024,      27.69765658

是否可以在 Python 或 pandas 中编写脚本来同时填写缺失的位置名称和坐标,同时正确格式化输出?

我知道 Python 或 Pandas 没有任何魔法包,但开始时会有帮助。

我在GIS部分问过这个问题,但那里没有太多帮助。这是我第一次使用地理位置数据集,我不知道如何开始。如果问题不合适,请发表评论以将其删除,而不是投反对票。

4

1 回答 1

1

正如其他人在您的GIS问题中提到的那样,没有神奇的方法可以产生准确的东西,但我会玩geopy。我假设您能够遍历您丢失的数据、示例代码和演示 geopy 的输出:

from geopy.geocoders import Nominatim

geolocator = Nominatim() 

for location in ('California USA', 'New Delhi'):
    geoloc = geolocator.geocode(location)
    print location, ':', geoloc, geoloc.latitude, geoloc.longitude

输出:

California USA : California, United States of America 36.7014631 -118.7559974 
New Delhi : New Delhi, New Delhi District, Delhi, India 28.6138967 77.2159562

您可能想尝试不同的地理编码服务(请参阅geopy 文档),其中一些服务可以采用额外的参数,例如,提名可以采用“country_bias”关键字,这会将结果偏向给定国家。

于 2016-05-16T13:39:46.570 回答