Îmbinarea sectoarelor de recensământ cu ariile metropolitane
Pentru a te concentra pe modul în care funcționează metoda merge, o funcție care calculează Indicele de Disimilaritate a fost deja furnizată. (Vei crea această funcție singur în exercițiul următor!)
Pentru a aplica această funcție, trebuie să adaugi identificatorii MSA în DataFrame-ul tracts. Vei folosi state și county, prezente în ambele DataFrame-uri, ca și chei de îmbinare. La final, vei folosi metoda stripplot din seaborn pentru a afișa cele mai segregate zece zone metropolitane.
DataFrame-ul tracts pe care l-ai folosit anterior este încărcat. Datele despre populație pe MSA sunt încărcate ca msa, iar primele câteva rânduri sunt afișate în consolă. De asemenea, msa_def este încărcat cu județele care alcătuiesc fiecare MSA.
pandas și seaborn au fost încărcate cu aliasurile obișnuite.
Acest exercițiu face parte din cursul
Analiza datelor recensământului SUA în Python
Instrucțiuni pentru exercițiu
- Folosește metoda
nlargestpe DataFrame-ulmsapentru a returna cele 50 de zone metropolitane cu cea mai mare"population". - Atât
tracts, cât șimsa_defau coloanele"state"și"county". Folosește metodamergecu parametrulonpentru a le îmbina după aceste coloane. - Folosește metoda
mergepentru a îmbinamsașimsa_Ddupă identificatorul MSA.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()