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
Tổng hợp đầy đủ các đặc điểm nhân khẩu học cốt lõi:
Mẫu các đặc điểm xã hội và kinh tế mở rộng:
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
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_varsprint(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']
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:*"
# 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"] = yeardfs.append(df)# Nối tất cả DataFrame trong bộ gom us = pd.concat(dfs, ignore_index=True)
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