Zacznij terazZacznij za darmo

Łączenie obszarów spisowych z obszarami metropolitalnymi

Aby skupić się na działaniu metody merge, przygotowano dla ciebie funkcję obliczającą indeks podobieństwa (Index of Dissimilarity). (W następnym ćwiczeniu napiszesz tę funkcję samodzielnie!)

Aby zastosować tę funkcję, musisz dodać identyfikatory MSA do DataFrame tracts. Jako kluczy złączenia użyjesz kolumn state i county, które występują w obu DataFrame. Na końcu skorzystasz z metody stripplot biblioteki seaborn, aby wyświetlić dziesięć najbardziej segregowanych obszarów metropolitalnych.

DataFrame tracts, z którego korzystałeś wcześniej, jest już wczytany. Dane o populacji według MSA są wczytane jako msa, a kilka pierwszych wierszy wyświetlono w konsoli. DataFrame msa_def zawiera informacje o tym, które powiaty wchodzą w skład poszczególnych MSA.

Biblioteki pandas i seaborn są wczytane pod standardowymi aliasami.

To ćwiczenie jest częścią kursu

Analiza danych spisowych USA w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj metody nlargest na DataFrame msa, aby zwrócić 50 największych obszarów metropolitalnych według kolumny "population".
  • Zarówno tracts, jak i msa_def mają kolumny "state" i "county". Użyj metody merge z parametrem on, aby złączyć te DataFrame po tych kolumnach.
  • Użyj metody merge, aby połączyć msa i msa_D według identyfikatora MSA.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod