使用州

时间:2017-08-07 21:47:28

标签: python database pandas geography

美国人口普查将每个州指定为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

2 个答案:

答案 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