美国人口普查将每个州指定为region(即纽约位于东北部)。我有一个州的数据集,我想查看各州对应的美国人口普查区域。
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
答案 0 :(得分:1)
有人在github上做了一个很好的table。您可以复制并粘贴为数据框
pd.read_clipboard()
答案 1 :(得分:1)
假设链接稳定(当然可能不是这样),您可以直接阅读csv:
pd.read_csv('https://raw.githubusercontent.com/cphalpert/census-regions/master/us%20census%20bureau%20regions%20and%20divisions.csv')
为了记录,如果您需要回到马的口中,您可以从人口普查局的TIGER GIS文件中获取它们。
安装geopandas
以便能够轻松加载地理shapefile,下载状态文件,无论vintage如何,并且这样做:
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