ПочатиПочніть безкоштовно

Об'єднання трактів і метрополійних областей

Щоб зосередитися на тому, як працює метод merge, для вас підготовлено функцію, яка обчислює індекс відмінності (Index of Dissimilarity). (У наступній вправі ви створите цю функцію самостійно!)

Щоб застосувати цю функцію, потрібно додати ідентифікатори MSA до датафрейму tracts. Ви використаєте state і county, які присутні в обох датафреймах, як ключі для об'єднання. Наприкінці ви застосуєте метод stripplot з seaborn, щоб показати десять найсегрегованіших метрополіцій.

Датафрейм tracts, з яким ви вже працювали, завантажено. Дані про чисельність населення за MSA завантажено як msa, і перші кілька рядків виведено в консолі. Нарешті, msa_def завантажено зі списком округів, що входять до кожної MSA.

pandas і seaborn завантажено зі звичними псевдонімами.

Ця вправа є частиною курсу

Аналіз даних перепису США в Python

Переглянути курс

Інструкції до вправи

  • Використайте метод nlargest для датафрейму msa, щоб повернути 50 найбільших метрополій за "population".
  • І tracts, і msa_def мають стовпці "state" і "county". Застосуйте метод merge з параметром on, щоб об'єднати за цими стовпцями.
  • Використайте метод merge, щоб об'єднати msa і msa_D за ідентифікатором MSA.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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()
Редагувати та запускати код