반복문으로 D 계산하기
조지아(Georgia)의 이질성 지수(Index of Dissimilarity) 0.544는 높은 편일까요, 낮은 편일까요? 시카고가 속한 일리노이(Illinois, FIPS = 17)와 비교해 봅시다.
이 연습에서는 반복문을 사용해 모든 주에 대해 $D$를 계산한 뒤, 조지아와 일리노이를 비교하겠습니다.
이질성 지수의 공식은 다음과 같습니다:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
pandas는 일반적인 별칭으로 가져왔고, 인구 열 "white"와 "black"을 가진 tracts DataFrame이 로드되어 있습니다. 변수 w와 b는 각각 열 이름 "white"와 "black"으로 정의되어 있습니다.
이 연습은 강의의 일부입니다
Python으로 미국 인구조사 데이터 분석하기
연습 안내
"state"열에unique()메서드를 사용해 주의 FIPS 코드 목록을 만드세요.- for-반복문을 사용해
states의 각 원소(각 FIPS 코드)를state변수에 담으세요. - 각
state값으로tractsDataFrame을 필터링해tmp에 할당하세요. tmp에 공식을 적용해 각 주에 대한 $D$를 계산하고, 결과를 사전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))