Khảo sát Cộng đồng Hoa Kỳ: Thay đổi hằng năm

Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Lee Hachadoorian

Asst. Professor of Instruction, Temple University

Lịch sử điều tra: Đếm và mẫu

Tổng hợp đầy đủ các đặc điểm nhân khẩu học cốt lõi:

  • Điều tra Dân số thập niên 1790 - 2010+

Mẫu các đặc điểm xã hội và kinh tế mở rộng:

  • Phiếu dài Điều tra Dân số (SF3) 1970 - 2000, ~15% hộ
  • Khảo sát Cộng đồng Hoa Kỳ hằng năm từ 2005+, ~1% hộ
Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

B25045 - Quyền cư trú theo số xe có sẵn theo độ tuổi

Variable   |  Label
-----------|--------------------------------------
B25045001  |  Tổng
B25045002  |    Chủ sở hữu cư trú
B25045003  |      Không có xe
B25045004  |        Chủ hộ 15–34 tuổi
B25045005  |        Chủ hộ 35–64 tuổi
B25045006  |        Chủ hộ 65 tuổi trở lên
B25045007  |      Có ≥1 xe
B25045008  |        Chủ hộ 15–34 tuổi
B25045009  |        Chủ hộ 35–64 tuổi
B25045010  |        Chủ hộ 65 tuổi trở lên
B25045011  |    Người thuê cư trú
B25045012  |      Không có xe
B25045013  |        Chủ hộ 15–34 tuổi
B25045014  |        Chủ hộ 35–64 tuổi
B25045015  |        Chủ hộ 65 tuổi trở lên
B25045016  |      Có ≥1 xe
B25045017  |        Chủ hộ 15–34 tuổi
B25045018  |        Chủ hộ 35–64 tuổi
B25045019  |        Chủ hộ 65 tuổi trở lên
Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Yêu cầu bảng chi tiết ACS - Thiết lập

import requests
import pandas as pd

HOST, dataset = "https://api.census.gov/data", "acs/acs1"

get_vars = ["B25045_" + str(i + 1).zfill(3) + "E" for i in range(19)] get_vars = ["NAME"] + get_vars
print(get_vars)
['NAME', 'B25045_001E', 'B25045_002E', 'B25045_003E', 'B25045_004E', 
'B25045_005E', 'B25045_006E', 'B25045_007E', 'B25045_008E', 'B25045_009E', 
'B25045_010E', 'B25045_011E', 'B25045_012E', 'B25045_013E', 'B25045_014E', 
'B25045_015E', 'B25045_016E', 'B25045_017E', 'B25045_018E', 'B25045_019E']
Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Yêu cầu bảng chi tiết ACS - Thiết lập

import requests
import pandas as pd

HOST, dataset = "https://api.census.gov/data", "acs/acs1"

get_vars = ["B25045_" + str(i + 1).zfill(3) + "E" for i in range(19)] get_vars = ["NAME"] + get_vars
# print(get_vars)
predicates = {} predicates["get"] = ",".join(get_vars) predicates["for"] = "us:*"
Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Yêu cầu cùng biến cho nhiều năm

# Khởi tạo bộ gom DataFrame
dfs = []

for year in range(2011, 2018):
base_url = "/".join([HOST, str(year), dataset]) r = requests.get(base_url, params=predicates)
df = pd.DataFrame(columns=r.json()[0], data=r.json()[1:])
# Thêm cột lưu năm df["year"] = year
dfs.append(df)
# Nối tất cả DataFrame trong bộ gom us = pd.concat(dfs, ignore_index=True)
Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Yêu cầu cùng biến cho nhiều năm

print(us.head())
            NAME B25045_001E B25045_002E  ... B25045_019E us  year
0  United States   114991725    74264435  ...     3232812  1  2011
1  United States   115969540    74119256  ...     3447172  1  2012
2  United States   116291033    73843861  ...     3662322  1  2013
3  United States   117259427    73991995  ...     3847400  1  2014
4  United States   118208250    74506512  ...     4044430  1  2015

[5 rows x 22 columns]
Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Lấy dữ liệu!

Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python

Preparing Video For Download...