Применение пакета censusgeocode ко всему фрейму данных геокодированных данных - PullRequest
1 голос
/ 05 марта 2020

У меня есть данные широты и долготы. Цель состоит в том, чтобы применить пакет censusgeocode ко всему фрейму данных, где наш x - это наш столбец широты, а наш y - наш столбец долготы. После этого я надеюсь получить фрейм данных с геоидом, состоянием, округом, трактом и блоком в виде столбцов. Можно ли сделать это так, чтобы мне не приходилось перебирать каждую геолокацию в a для l oop? Я мог бы попробовать функцию apply, однако функция apply не обязательно была бы способна адаптироваться к такого рода проблемам. Ниже приведен мой код для определения фрейма данных и добавления решения к:

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
...