시작하기무료로 시작하기

반복문으로 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이 로드되어 있습니다. 변수 wb는 각각 열 이름 "white""black"으로 정의되어 있습니다.

이 연습은 강의의 일부입니다

Python으로 미국 인구조사 데이터 분석하기

강의 보기

연습 안내

  • "state" 열에 unique() 메서드를 사용해 주의 FIPS 코드 목록을 만드세요.
  • for-반복문을 사용해 states의 각 원소(각 FIPS 코드)를 state 변수에 담으세요.
  • state 값으로 tracts DataFrame을 필터링해 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))
코드 편집 및 실행