D'yi Döngüde Hesaplama
Georgia'nın 0.544'lik Ayrışma Endeksi (Index of Dissimilarity) yüksek mi düşük mü? Bunu Chicago'nun bulunduğu Illinois (FIPS = 17) ile karşılaştıralım.
Bu egzersizde tüm eyaletler için \(D\) değerini bir döngü kullanarak hesaplayacak, sonra Georgia ve Illinois'i karşılaştıracağız.
Ayrışma Endeksi'nin formülünü unutma:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas her zamanki kısaltmayla içe aktarılmış durumda ve "white" ve "black" nüfus sütunları olan tracts DataFrame'i yüklendi. w ve b değişkenleri, "white" ve "black" sütun adlarıyla tanımlandı.
Bu egzersiz, kursun bir parçasıdır
Python ile ABD Nüfus Sayımı Verilerini Analiz Etme
Egzersiz talimatları
- Eyalet FIPS kodlarının bir listesini oluşturmak için
"state"sütunundaunique()metodunu kullan. - Bir for döngüsüyle
statesiçindeki her öğeyi (yani her FIPS kodunu)stateadlı bir değişkende tut. - Her
statedeğeri içintractsDataFrame'ini filtrele vetmpdeğişkenine ata. - Her eyalet için formülü
tmpüzerinde uygulayarak \(D\)'yi hesapla ve sonucustate_Dsözlüğünde sakla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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))