Unire Tracts e Aree Metropolitane
Per concentrarci su come funziona il metodo merge, ti è stata fornita una funzione che calcola l'Indice di Dissimilarità. (Nel prossimo esercizio la creerai tu!)
Per applicare questa funzione, devi aggiungere gli identificatori MSA al DataFrame tracts. Userai state e county, presenti in entrambi i DataFrame, come chiavi di join. Alla fine, userai il metodo stripplot di seaborn per mostrare le dieci aree metropolitane più segregate.
Il DataFrame tracts che hai usato in precedenza è già caricato. I dati di popolazione per MSA sono caricati come msa e le prime righe sono visualizzate nella console. Infine, msa_def è caricato con le contee che compongono ciascuna MSA.
pandas e seaborn sono stati importati con le solite abbreviazioni.
Questo esercizio fa parte del corso
Analizzare i dati del Censimento USA con Python
Istruzioni dell'esercizio
- Usa il metodo
nlargestsul DataFramemsaper restituire le 50 aree metropolitane più grandi per"population". - Sia
tractssiamsa_defhanno le colonne"state"e"county". Usa il metodomergecon il parametroonper fare il join su queste colonne. - Usa il metodo
mergeper uniremsaemsa_Dsull'identificatore MSA.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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()