การแบ่งแยกที่สืบทอดต่อกันไป
จากที่เห็นมาแล้วว่าในชิคาโกมีพื้นที่ (tract) ที่มีการผสมผสานระหว่างชาวแอฟริกัน-อเมริกันและเชื้อชาติอื่นๆ ค่อนข้างน้อย แล้วพื้นที่เหล่านี้เปลี่ยนแปลงไปอย่างไรตามกาลเวลา? โหลด tracts_cook ไว้แล้ว และคำนวณเปอร์เซ็นต์ชาวแอฟริกัน-อเมริกันในปี 2010 ไว้เรียบร้อยแล้ว ขั้นตอนต่อไปคือทำแบบเดียวกันสำหรับปี 1990 จากนั้นคำนวณการเปลี่ยนแปลงเป็นเปอร์เซ็นต์โดยนำค่าปี 1990 ลบออกจากค่าปี 2010 แล้วใช้ regplot เพื่อพล็อตการเปลี่ยนแปลงดังกล่าวเทียบกับค่าเริ่มต้น (ปี 1990)
เพื่อให้แปลผลกราฟได้ง่ายขึ้น จะเพิ่มเส้นอ้างอิงสีแดงแทน "ไม่มีการเปลี่ยนแปลง" นอกจากนี้ regplot ยังรองรับการเพิ่มเส้นโค้ง LOWESS (โดยใช้ lowess = True) เพื่อแสดงแนวโน้มในระดับท้องถิ่นของข้อมูล
โหลด pandas และ seaborn ด้วย alias มาตรฐานแล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ข้อมูลสำมะโนประชากรสหรัฐฯ ด้วย Python
คำแนะนำการฝึกหัด
- คำนวณเปอร์เซ็นต์ชาวแอฟริกัน-อเมริกันในแต่ละ tract สำหรับปี 1990
- คำนวณการเปลี่ยนแปลงเป็นเปอร์เซ็นต์ของชาวแอฟริกัน-อเมริกัน โดยนำค่าปี 1990 ลบออกจากค่าปี 2010
- เพื่อให้มุ่งเน้นไปที่พื้นที่ที่มีความหลากหลายทางเชื้อชาติ ให้กรอง
tracts_cookเฉพาะ tract ที่pct_black_1990อยู่ระหว่าง 30% ถึง 70% - พล็อตการเปลี่ยนแปลงของเปอร์เซ็นต์คนผิวดำระหว่างปี 1990–2000 (แกน y) เทียบกับเปอร์เซ็นต์คนผิวดำในปี 1990 (แกน x) โดยใช้
lowess = Trueเพื่อเพิ่มเส้นโค้งแนวโน้มแบบ Smoothed
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Calculate percent Black in 1990 and percentage point change from 1990 to 2000
tracts_cook["pct_black_1990"] = ____
tracts_cook["pct_black_change"] = ____
# Retain tracts between 30% and 70% Black in 1990
tracts_mixed = tracts_cook[(____) & (____)]
# Plot change vs. percent Black in 1990, with "no change" reference line
sns.regplot(____, ____, ____, data = tracts_mixed)
plt.plot([30, 70], [0, 0], linestyle = "--", color = "red")
plt.show()