我有一组数据集,同时缺少地理位置名称和坐标。我想填补空白,以便我可以继续进行数据的未来分析。数据集是从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部分提出了这个问题但在那里没有多少帮助。这是我第一次使用Geo位置数据集,我不知道如何开始。如果问题不合适,请评论删除而不是投票。
答案 0 :(得分: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 doc),其中一些服务可以采取其他参数,例如:提名可以采取" country_bias"将结果偏向给定国家/地区的关键字。