我正在一个数据帧上做一个三重for循环,有将近7万个条目。如何优化它?你知道吗
我的最终目标是建立一个新的专栏,其中有一个国家的地震事件。我有一个纬度,经度和“地点”(例如:“北尼纳纳17公里,阿拉斯加”)列。我试着反转地理编码,但是有68488个条目,没有免费的服务可以让我这么做。作为一个学生,我负担不起。你知道吗
所以我使用一个包含国家列表的数据框和一个包含国家列表的数据框来比较USGS['place']的值。为此,我最终决定使用3 for循环。你知道吗
你可以假设,这需要很长时间。我希望能有办法加快速度。我使用的是python,但是我也使用r。for循环在python上运行得更好。你知道吗
任何更好的选择我都会选择。你知道吗
USGS = pd.DataFrame(data = {'latitide':[64.7385, 61.116], 'longitude':[-149.136, -138.655], 'place':['17km N of North Nenana, Alaska', '74km WNW of Haines Junction, Canada'], 'country':[NA, NA]})
states = pd.DataFrame(data = {'state':['AK', 'AL'], 'name':['Alaska', 'Alabama']})
countries = pd.DataFrame(data = {'country':['Afghanistan', 'Canada']})
for head in states:
for state in states[head]:
for p in USGS['place']:
if state in p:
USGS['country'] = USGS['country'].map({p : 'United 'States'})
# I have not finished the code for the countries dataframe
你可以选择进行地理编码。Mapquest每月提供15000个免费电话。您还可以看看使用geopy,这就是我所使用的。你知道吗
输入:
输出:
相关问题 更多 >
编程相关推荐