Получить регионы переписи США, используя штаты
Перепись США определяет каждый штат в определенном регионе (т. Е. Нью-Йорк находится на северо-востоке). У меня есть набор данных штатов, для которых я хотел бы посмотреть соответствующий регион переписи США.
us
Модуль был моей первой попыткой, но он не содержит региона (насколько мне известно). census
Модуль предоставляет API для переписи населения США, но я не вижу способа запросить регион. Если не считать ручного создания словаря, кто-нибудь знает удобный способ?
Образец данных:
df = pd.DataFrame({'state':['Alabama','Georgia','California','Tennessee',
'Florida','Illinois','Arizona','New York','Maryland','Virginia','New Jersey','Kansas',
'District of Columbia','Texas','Missouri','North Carolina','Ohio','Massachusetts',
'Wisconsin','Pennsylvania','Alaska','Michigan',
'Arkansas']})
df.loc[:,'region'] = np.nan
2 ответа
Кто-то сделал хороший стол на github. Это вы можете скопировать и вставить в качестве кадра данных
pd.read_clipboard()
Предполагая, что ссылка стабильна (что, конечно, может и не быть), вы можете обойтись, прочитав непосредственно csv:
pd.read_csv('https://raw.githubusercontent.com/cphalpert/census-regions/master/us%20census%20bureau%20regions%20and%20divisions.csv')
Для справки: если вам понадобится вернуться к рту лошади, вы можете получить их из файлов ГИС TIGER GIS.
устанавливать geopandas
чтобы можно было легко загружать географические шейп-файлы, загружать файл состояния, независимо от винтажа, и делать это так:
states = gpd.read_file('/Users/akselo/downloads/tl_2017_us_state.shp')
states.set_index(['NAME'])[['REGION','DIVISION']].head()
REGION DIVISION
West Virginia 3 5
Florida 3 5
Illinois 2 3
Minnesota 2 4
Maryland 3 5