Tính D cho một bang
Trong bài này, bạn sẽ tính Chỉ số Khác biệt (Index of Dissimilarity) cho bang Georgia. Nhớ rằng công thức của Chỉ số Khác biệt là:
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
Trong trường hợp này, Nhóm A là người da trắng (Whites), Nhóm B là người da đen (Blacks). \(a\) và \(b\) lần lượt là dân số da trắng và da đen ở đơn vị địa lý nhỏ (các tract), còn \(A\) và \(B\) là dân số da trắng và da đen ở đơn vị địa lý lớn hơn bao trùm (Georgia, mã bưu chính = GA, mã FIPS = 13).
pandas đã được import với bí danh quen thuộc, và DataFrame tracts với các cột dân số "white" và "black" đã được nạp.
Bài tập này là một phần của khóa học
Phân tích dữ liệu Điều tra Dân số Hoa Kỳ bằng Python
Hướng dẫn bài tập
- Tạo DataFrame mới
ga_tractschỉ chứa các tract thuộc Georgia (cột"state"phải bằng mã FIPS"13") - Cung cấp tên cột trong một danh sách (dùng các biến
wvàb) để in tổng số người da trắng không phải gốc Hispanic và người da đen ở Georgia - Lấy dân số da trắng của mỗi tract chia cho tổng dân số da trắng, rồi trừ đi dân số da đen của mỗi tract chia cho tổng dân số da đen; sử dụng các biến
wvàbđể giúp mã dễ đọc hơn
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Define convenience variables to hold column names
w = "white"
b = "black"
# Extract Georgia tracts
ga_tracts = tracts[____]
# Print sums of Black and White residents of Georgia
print(ga_tracts[____].sum())
# Calculate Index of Dissimilarity and print rounded result
D = 0.5 * sum(abs(
____ / ____ - ____ / ____))
print("Dissimilarity (Georgia):", round(D, 3))