Spojení census tractů a metropolitních oblastí
Abys mohl/a lépe pochopit, jak funguje metoda merge, je pro tebe připravena funkce, která počítá Index nepodobnosti. (Tuto funkci si sám/sama napíšeš v dalším cvičení!)
Pro použití této funkce musíš přidat identifikátory MSA do DataFrame tracts. Jako klíče pro spojení použiješ sloupce state a county, které jsou přítomné v obou DataFramech. Na závěr využiješ metodu stripplot z knihovny seaborn k zobrazení deseti nejvíce segregovaných metropolitních oblastí.
DataFrame tracts, který jsi používal/a dříve, je načtený. Populační data podle MSA jsou načtená jako msa a první řádky jsou zobrazeny v konzoli. Dále je načtený msa_def s okresy, které tvoří jednotlivé MSA.
pandas a seaborn jsou načtené s obvyklými aliasy.
Toto cvičení je součástí kurzu
Analýza dat amerického sčítání lidu v Pythonu
Pokyny k cvičení
- Použij metodu
nlargestna DataFramemsa, aby ses vrátil/a 50 největších metropolitních oblastí podle"population". - DataFrame
tractsimsa_defmají sloupce"state"a"county". Použij metodumerges parametremonpro spojení podle těchto sloupců. - Použij metodu
mergeke spojenímsaamsa_Dpodle identifikátoru MSA.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()