Вычисление 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))