Menghitung D dalam Sebuah Loop
Apakah Indeks Dissimilarity Georgia sebesar 0,544 tergolong tinggi atau rendah? Mari bandingkan dengan Illinois (FIPS = 17), tempat kota Chicago.
Dalam latihan ini kita akan menggunakan sebuah loop untuk menghitung \(D\) untuk semua negara bagian, lalu membandingkan Georgia dan Illinois.
Ingat bahwa rumus untuk Indeks Dissimilarity adalah:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas telah diimpor menggunakan alias biasa, dan DataFrame tracts dengan kolom populasi "white" dan "black" telah dimuat. Variabel w dan b telah didefinisikan dengan nama kolom "white" dan "black".
Latihan ini adalah bagian dari kursus
Menganalisis Data Sensus AS dengan Python
Petunjuk latihan
- Gunakan metode
unique()pada kolom"state"untuk membuat daftar kode FIPS negara bagian. - Gunakan for-loop untuk menyimpan setiap elemen
states(yaitu setiap kode FIPS) dalam variabel bernamastate. - Saring DataFrame
tractspada setiap nilaistate, dan simpan ketmp. - Hitung \(D\) untuk setiap negara bagian dengan menerapkan rumus pada
tmp, dan simpan hasilnya dalam dictionarystate_D.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Get list of state FIPS Codes
states = list(tracts["state"].____)
state_D = {} # Initialize dictionary as collector
for state in ____:
# Filter by state
tmp = ____
# Add Index of Dissimilarity to Dictionary
state_D[state] = 0.5 * sum(____)
# Print D for Georgia (FIPS = 13) and Illinois (FIPS = 17)
print("Georgia D =", round(state_D["13"], 3))
print("Illinois D =", round(state_D["17"], 3))