使用各州获取美国人口普查区
get US Census regions using states
美国人口普查将每个州指定为 region(即纽约位于东北部)。我有一个州数据集,我想为其查找各州对应的美国人口普查区域。
us
module was my first attempt but it doesn't contain the region (to my awareness). The 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
有人在 github 上做了一个很好的 table。您可以将其复制并粘贴为数据框
pd.read_clipboard()
假设 link 是稳定的(当然它可能不是)你可以直接读取 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
美国人口普查将每个州指定为 region(即纽约位于东北部)。我有一个州数据集,我想为其查找各州对应的美国人口普查区域。
us
module was my first attempt but it doesn't contain the region (to my awareness). The 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
有人在 github 上做了一个很好的 table。您可以将其复制并粘贴为数据框
pd.read_clipboard()
假设 link 是稳定的(当然它可能不是)你可以直接读取 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