НачатьНачать бесплатно

Вычисление D в цикле

Является ли индекс диссимиляции Джорджии, равный 0,544, высоким или низким? Давайте сравним его с Иллинойсом (FIPS = 17) — штатом, где расположен Чикаго.

В этом упражнении вы используете цикл для вычисления \(D\) для всех штатов, а затем сравните результаты Джорджии и Иллинойса.

Напомним, что формула индекса диссимиляции выглядит так:

$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$

Библиотека pandas импортирована под стандартным псевдонимом, DataFrame tracts с колонками населения "white" и "black" загружен. Переменные w и b определены с именами колонок "white" и "black".

Это упражнение является частью курса

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

Посмотреть курс

Инструкции к упражнению

  • Примените метод unique() к столбцу "state", чтобы получить список кодов FIPS штатов.
  • Используйте цикл for, чтобы перебрать каждый элемент списка states (то есть каждый код FIPS) и сохранить его в переменной state.
  • Отфильтруйте DataFrame 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))
Редактировать и запускать код