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

Обчислення 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))
Редагувати та запускати код