我有一个纬度和经度的数据框。目标是将censusgeocode包应用于整个数据帧,其中x是纬度列,y是经度列。在此之后,我希望得到一个以大地水准面、州、县、域和块为列的数据帧。是否可以这样做,这样我就不必在for循环中迭代每个地理位置?我可以尝试apply函数,但是apply函数不一定能够适应这种问题。下面是我定义dataframe并将解决方案添加到的代码:
import pandas as pd
import censusgeocode as cg
data = pd.DataFrame({'latitude':[40.811765, 40.30019, 39.2464], 'longitude':[-81.528874, -81.83743, -83.60476]})
到目前为止,我在数千个地点进行了太长时间的尝试:
geo_list = []
for f, g in zip(data['x'], data['y']):
try:
census = cg.coordinates(x=g, y=f)['2010 Census Blocks'][0]
data = [census['GEOID'], census['STATE'], census['COUNTY'], census['TRACT'], census['BLOCK'], f, g]
geo_list.append(data)
except:
pass
目前没有回答
相关问题 更多 >
编程相关推荐