MulaiMulai sekarang secara gratis

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

Lihat Kursus

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 bernama state.
  • Saring DataFrame tracts pada setiap nilai state, dan simpan ke tmp.
  • Hitung \(D\) untuk setiap negara bagian dengan menerapkan rumus pada tmp, dan simpan hasilnya dalam dictionary state_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))
Edit dan Jalankan Kode