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

การเชื่อมข้อมูล Tracts และ Metropolitan Areas

เพื่อให้โฟกัสที่การทำงานของเมธอด merge โดยเฉพาะ จึงได้เตรียมฟังก์ชันสำหรับคำนวณ Index of Dissimilarity ไว้ให้แล้ว (ในแบบฝึกหัดถัดไปจะได้สร้างฟังก์ชันนี้เอง!)

ในการใช้งานฟังก์ชันนี้ ต้องเพิ่มตัวระบุ MSA เข้าไปใน DataFrame tracts โดยใช้ state และ county ซึ่งมีอยู่ในทั้งสอง DataFrame เป็น join key จากนั้นจะใช้เมธอด stripplot ของ seaborn เพื่อแสดงเมืองที่มีการแบ่งแยกมากที่สุด 10 อันดับแรก

โหลด DataFrame tracts ที่ใช้ก่อนหน้านี้ไว้แล้ว ข้อมูลประชากรแยกตาม MSA โหลดไว้เป็น msa และแสดงข้อมูลบางส่วนไว้ในคอนโซล นอกจากนี้ยังโหลด msa_def ซึ่งมีข้อมูลเคาน์ตีที่ประกอบเป็น MSA แต่ละแห่งไว้ด้วย

โหลด pandas และ seaborn ด้วย alias ตามปกติแล้ว

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

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

ดูคอร์ส

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

  • ใช้เมธอด nlargest บน DataFrame msa เพื่อดึง 50 เมืองขนาดใหญ่ที่สุดตาม "population"
  • ทั้ง tracts และ msa_def มีคอลัมน์ "state" และ "county" ใช้เมธอด merge พร้อมพารามิเตอร์ on เพื่อ join บนคอลัมน์เหล่านี้
  • ใช้เมธอด merge เพื่อ join msa และ msa_D บนตัวระบุ MSA

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

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

# Find identifiers for 50 largest metros by population
msa50 = list(msa.____["msa"])

# Join MSA identifiers to tracts, restrict to largest 50 metros
msa_tracts = pd.merge(____, ____, on = ____)
msa_tracts = msa_tracts[msa_tracts["msa"].isin(msa50)]

# Calculate D using custom function, merge back into MSA
msa_D = dissimilarity(msa_tracts, "white", "black", "msa")
msa = pd.merge(msa, msa_D, ____, ____)

# Plot ten most segregated metros
sns.stripplot(x = "D", y = "name", data = msa.nlargest(10, "D"))
plt.show()
แก้ไขและรันโค้ด