【问题标题】:get US Census regions using states使用州获取美国人口普查区域
【发布时间】:2017-08-07 21:47:27
【问题描述】:

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

【问题讨论】:

    标签: python database pandas geography


    【解决方案1】:

    假设链接是稳定的(当然可能不是),您可以通过直接读取 csv 来解决:

    pd.read_csv('https://raw.githubusercontent.com/cphalpert/census-regions/master/us%20census%20bureau%20regions%20and%20divisions.csv')
    

    作为记录,如果您需要回到马口中获取这些信息,您可以从人口普查局的 TIGER GIS 文件中获取它们。

    安装geopandas 以便能够轻松加载地理形状文件,下载状态文件,无论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

    【讨论】:

    • +1 用于提及 geopandas 并建议使用 TIGER GIS 文件。我都不知道,这是一个方便的解决方案。谢谢!
    【解决方案2】:

    有人在 github 上做了一个很好的table。您可以复制并粘贴为数据框

    pd.read_clipboard()
    

    【讨论】:

    • pd.read_clipboard() 并不总是稳定的(有时我的笔记本会崩溃)。为避免从剪贴板中读取数据,只需单击“原始”按钮即可下载 csv 格式的数据集。
    猜你喜欢
    • 2012-01-24
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    相关资源
    最近更新 更多