เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

พื้นที่รหัสไปรษณีย์ (Zip Code Tabulation Areas)

ในแวดวงการตลาด การรู้ข้อมูลประชากรตามรหัสไปรษณีย์เป็นสิ่งที่ต้องการบ่อยมาก ZIP Code Tabulation Areas ("ZCTAs") คือพื้นที่ที่ Census กำหนดขึ้นให้เทียบเท่ากับรหัสไปรษณีย์ โดยสร้างจาก Census blocks ในแบบฝึกหัดนี้ จะขอข้อมูลประชากรรวมสำหรับ ZCTAs ทั้งหมดในรัฐ Alabama

ใน pandas สามารถใช้ index เพื่อดึงแถวที่ต้องการได้ โดย GEOID เหมาะสำหรับใช้เป็นตัวระบุแถว ในแบบฝึกหัดนี้ จะกำหนด multilevel index จากคอลัมน์ state และ ZCTA ของแต่ละแถว

นำเข้าแพ็กเกจ requests และ pandas ไว้แล้ว รวมถึงกำหนด base_url และพจนานุกรม predicates พร้อมรายการตัวแปรที่ต้องการขอข้อมูลเรียบร้อยแล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์ข้อมูลสำมะโนประชากรสหรัฐฯ ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดคีย์ "for" ในพจนานุกรม predicates เพื่อดึงข้อมูล ZCTAs ทั้งหมด โดยสะกดชื่อภูมิศาสตร์ให้ครบเต็มเป็น "zip code tabulation area (or part)""
  • กำหนดคีย์ "in" ในพจนานุกรม predicates เพื่อดึงข้อมูลเฉพาะ ZCTAs ในรัฐ Alabama เท่านั้น โดยต้องค้นหารหัส FIPS ของ Alabama จากแหล่งข้อมูลออนไลน์ที่ได้เรียนรู้มา
  • กำหนด index ของ DataFrame ให้เป็นการเชื่อมคอลัมน์ state และ zcta เข้าด้วยกัน ใช้ inplace = True เพื่อไม่ให้สร้าง DataFrame ใหม่

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Build dictionary of predicates and execute the request
predicates = {}
predicates["get"] = ",".join(["NAME",  "P001001"])
____
____
r = requests.get(base_url, params=predicates)

# Construct the DataFrame
col_names = ["name", "total_pop", "state", "zcta"]
zctas = pd.DataFrame(columns=col_names, data=r.json()[1:])
zctas["total_pop"] = zctas["total_pop"].astype(int)

# Set multilevel index from GEOIDs and print the head
zctas.set_index([____, ____], inplace = True)
print(zctas.head())
แก้ไขและรันโค้ด