Получить регионы переписи США, используя штаты

Перепись США определяет каждый штат в определенном регионе (т. Е. Нью-Йорк находится на северо-востоке). У меня есть набор данных штатов, для которых я хотел бы посмотреть соответствующий регион переписи США.

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

Другие вопросы по тегам