国勢調査の地理

Pythonで学ぶ米国センサスデータ分析

Lee Hachadoorian

Asst. Professor of Instruction, Temple University

全地理の取得

import requests

HOST = "https://api.census.gov/data"
year = "2010"
dataset = "dec/sf1"
base_url = "/".join([HOST, year, dataset])

predicates = {}
predicates["get"] = "NAME,P001001"

predicates["for"] = "state:*"
r = requests.get(base_url, params=predicates)
Pythonで学ぶ米国センサスデータ分析

特定地理の取得

import requests

HOST = "https://api.census.gov/data"
year = "2010"
dataset = "dec/sf1"
base_url = "/".join([HOST, year, dataset])

predicates = {}
predicates["get"] = "NAME,P001001"

predicates["for"] = "state:42"
r = requests.get(base_url, params=predicates)
Pythonで学ぶ米国センサスデータ分析

州と地理識別子を示すミズーリ国勢調査データセンターのウェブページのスクリーンショット

1 https://census.missouri.edu/geocodes/
Pythonで学ぶ米国センサスデータ分析

地理的区分

法的・行政的区分

  • 連邦議会選挙区
  • 学区
  • その他

統計的区分

  • ブロック
  • (国勢調査) トラクト
  • 大都市/小都市統計圏
  • 郵便番号集計地域
  • その他
1 https://www.census.gov/geo/education/legstat_geo.html
Pythonで学ぶ米国センサスデータ分析

国勢調査の地理階層を示す図。各地理単位がどの上位地理に含まれるかを線で表している。

Pythonで学ぶ米国センサスデータ分析

"in" 述語

特定の州の全郡を取得:

predicates["for"] = "county:*"
predicates["in"] = "state:33,50"

1つの州の特定の郡を取得:

predicates["for"] = "county:001,003"
predicates["in"] = "state:33"
r = requests.get(base_url, params=predicates)
Pythonで学ぶ米国センサスデータ分析

地区 (Places)

  • 法人化された場所とは、人口集中地域に対して行政機能を提供するために設立された地域です。通常は市、町、村、または区として分類されますが、その他の法的区分が適用される場合もあります。」
  • 国勢調査指定地域 (CDP) は法人化された場所の統計的対応物であり、名称で識別できるものの、所在する州の法律の下で法的に法人化されていない人口集中地域のデータを提供するために設定されます。」

Source: https://www.census.gov/geo/reference/gtc/gtc_place.html

Pythonで学ぶ米国センサスデータ分析
地理レベル 地理階層
40 state
50 state› county
60 state› county› county subdivision
101 state› county› tract› block
140 state› county› tract
150 state› county› tract› block group
160 state› place

https://api.census.gov/data/2010/dec/sf1/geography.html

Pythonで学ぶ米国センサスデータ分析

部分地理

state› congressional district› county (or part)

predicates = {}
predicates["get"] = "NAME,P001001"

predicates["for"] = "county (or part):*"
predicates["in"] = "state:42;congressional district:02"
r = requests.get(base_url, params=predicates) print(r.text)
[["NAME","P001001","state","congressional district","county"],
["Montgomery County (part)","36793","42","02","091"],
["Philadelphia County (part)","593484","42","02","101"]]
Pythonで学ぶ米国センサスデータ分析

練習しましょう!

Pythonで学ぶ米国センサスデータ分析

Preparing Video For Download...