통근 패턴

Python으로 미국 인구조사 데이터 분석하기

Lee Hachadoorian

Asst. Professor of Instruction, Temple University

통근 표

통근 주제

  • 이동 수단(자동차, 대중교통 등)
  • 이동 시간
  • 출근/퇴근 시간

통근 지리

  • 거주지: 잠자는 곳
  • 직장: 일하는 곳; 군·구 등에서 노동인구 산정에 활용
Python으로 미국 인구조사 데이터 분석하기

뉴욕시 혼잡 통행료

  • 뉴욕시에서 논의 중(2019년 초)
  • 이전 시도 실패(2007)
  • 저·중소득 가구의 비용 부담 우려

뉴욕시 거리의 자동차와 택시를 위에서 내려다본 사진.

1 Photo by Brian Jeffery Beggerly (CC BY 2.0)
Python으로 미국 인구조사 데이터 분석하기

표 B08519: 직장 지리 기준 지난 12개월 근로소득(2017년 물가 반영 달러)별 출근 교통수단

Total
    $1 to $9,999 or loss
    $10,000 to $14,999
    $15,000 to $24,999
    $25,000 to $34,999
    $35,000 to $49,999
    $50,000 to $64,999
    $65,000 to $74,999
    $75,000 or more
Car truck or van - drove alone
    <repeat income categories>
Car truck or van - carpooled
    <repeat income categories>
Public transportation (excluding taxicab)
    <repeat income categories>
etc...
Python으로 미국 인구조사 데이터 분석하기

API 응답

print(r.json())
[['B08519_011E', 'B08519_012E', 'B08519_013E', 'B08519_014E', 'B08519_015E',
  'B08519_016E', 'B08519_017E', 'B08519_018E', 'B08519_020E', 'B08519_021E', 
  ... 
  'B08519_061E', 'B08519_062E', 'B08519_063E', 'state', 'county'], 
 ['10927', '9172', '19659', '22110', '32287', 
  '32977', '15693', '106972', '3663', '2518', 
  ...
  '7457', '2664', '20684', '36', '061']]
Python으로 미국 인구조사 데이터 분석하기

데이터 재구조화

# Read data row into list
data_row = r.json()[1][:-2]

# Break data row into list of lists iter_len = 8 data = [data_row[i:i+iter_len] for i in range(0, len(data_row), iter_len)]
print(data)
[['10927', '9172', '19659', '22110', '32287', '32977', '15693', '106972'], 
['3663', '2518', '5484', '5625', '8028', '7990', '3369', '22958'], 
['139358', '97178', '200514', '184510', '255491', '240973', '116673', '700808'], 
['16743', '9117', '15900', '13710', '17442', '20206', '10370', '85879'], ...]
Python으로 미국 인구조사 데이터 분석하기

DataFrame 구성

# Define row names and column names
modes = ["drove_alone", "carpooled", "public", "walked", "taxi", 
         "worked_at_home"]

incomes = ["0k", "10k", "15k", "25k", "35k", "50k", "65k", "75k"]
# Create DataFrame manhattan = pd.DataFrame(data=data, index=modes, columns=incomes) manhattan = manhattan.astype(int)
Python으로 미국 인구조사 데이터 분석하기

DataFrame 구성

print(manhattan)
                    0k    10k     15k   ...       50k     65k     75k
drove_alone      10716   8965   19294   ...     31502   15519  104078
carpooled         3740   2451    5852   ...      7994    3438   22625
public          140957  99474  197241   ...    235158  111959  654800
walked           16795   9045   15451   ...     20704   10663   83681
taxi              3201   2209    4515   ...      6551    3029   35572
worked_at_home    6854   3885    5489   ...      7776    2809   19598

[6 rows x 8 columns]
Python으로 미국 인구조사 데이터 분석하기

히트맵 만들기

# Create heatmap of commuters by mode by income
sns.heatmap(manhattan, annot=manhattan // 1000, fmt="d", cmap="YlGnBu")

통근 수단별 행과 소득 구간별 열이 있는 히트맵. 각 셀은 통근자 수로 색이 칠해짐. 대중교통 행이 더 어둡고, 7만5천 달러 초과 소득의 대중교통 셀이 가장 어둡다.

Python으로 미국 인구조사 데이터 분석하기

연습해 봅시다!

Python으로 미국 인구조사 데이터 분석하기

Preparing Video For Download...