Обчислення D у циклі
Індекс дисимілярності штату Джорджія дорівнює 0,544. Це високий чи низький показник? Порівняймо його з Іллінойсом (FIPS = 17), де розташоване Чикаго.
У цій вправі ви використаєте цикл, щоб обчислити \(D\) для всіх штатів, а потім порівняти Джорджію та Іллінойс.
Нагадаємо, що формула індексу дисимілярності така:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas імпортовано зі звичним псевдонімом, а датафрейм tracts із колонками чисельності "white" і "black" уже завантажено. Змінні w і b визначено як назви колонок "white" і "black".
Ця вправа є частиною курсу
Аналіз даних перепису США в Python
Інструкції до вправи
- Використайте метод
unique()для колонки"state", щоб створити список FIPS‑кодів штатів. - Використайте цикл for, щоб послідовно зберігати кожен елемент
states(тобто кожен FIPS‑код) у зміннійstate. - Відфільтруйте датафрейм
tractsза кожним значеннямstateі присвойте результат зміннійtmp. - Обчисліть \(D\) для кожного штату, застосувавши формулу до
tmp, і збережіть результат у словникуstate_D.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Get list of state FIPS Codes
states = list(tracts["state"].____)
state_D = {} # Initialize dictionary as collector
for state in ____:
# Filter by state
tmp = ____
# Add Index of Dissimilarity to Dictionary
state_D[state] = 0.5 * sum(____)
# Print D for Georgia (FIPS = 13) and Illinois (FIPS = 17)
print("Georgia D =", round(state_D["13"], 3))
print("Illinois D =", round(state_D["17"], 3))