Menggabungkan Tract dan Wilayah Metropolitan
Agar dapat berfokus pada cara kerja metode merge, sebuah fungsi untuk menghitung Index of Dissimilarity telah disediakan untuk Anda. (Anda akan membuat fungsi ini sendiri pada latihan berikutnya!)
Untuk menerapkan fungsi ini, Anda perlu menambahkan pengenal MSA ke DataFrame tracts. Anda akan menggunakan state dan county, yang ada di kedua DataFrame, sebagai kunci penggabung. Pada akhirnya, Anda akan menggunakan metode stripplot dari seaborn untuk menampilkan sepuluh wilayah metro dengan segregasi tertinggi.
DataFrame tracts yang telah Anda gunakan sebelumnya sudah dimuat. Data populasi per MSA dimuat sebagai msa, dan beberapa baris pertama ditampilkan di konsol. Terakhir, msa_def dimuat dengan daftar county yang membentuk setiap MSA.
pandas dan seaborn telah dimuat dengan alias yang biasa digunakan.
Latihan ini adalah bagian dari kursus
Menganalisis Data Sensus AS dengan Python
Petunjuk latihan
- Gunakan metode
nlargestpada DataFramemsauntuk mengembalikan 50 wilayah metro terbesar berdasarkan"population". tractsdanmsa_defsama-sama memiliki kolom"state"dan"county". Gunakan metodemergedengan parameteronuntuk menggabungkan berdasarkan kolom-kolom tersebut.- Gunakan metode
mergeuntuk menggabungkanmsadanmsa_Dpada pengenal MSA.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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()