1つの州でのDの計算
この演習では、ジョージア州の Dissimilarity 指数(偏離指数)を計算します。Dissimilarity 指数の式は次のとおりです。
$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$
ここでは、グループAがWhite(白人)、グループBがBlack(黒人)です。\(a\) と \(b\) は小地域(トラクト)の White と Black の人口、\(A\) と \(B\) はより大きな包含地域(ジョージア州、郵便略号 = GA、FIPS コード = 13)の White と Black の人口を表します。
pandas は通常のエイリアスでインポート済みで、人口列 "white" と "black" を持つ tracts DataFrame が読み込まれています。
この演習はコースの一部です
Pythonで学ぶ米国センサスデータ分析
演習の手順
- ジョージア州のみのトラクトからなる新しい DataFrame
ga_tractsを作成します("state"列が FIPS コード"13"と等しい行)。 - 列名をリストで指定し(変数
wとbを使用)、ジョージア州の Nonhispanic White と Black の合計を出力します。 - 各トラクトの White 人口を White 人口合計で割った値から、各トラクトの Black 人口を Black 人口合計で割った値を引きます。コードの可読性を高めるために
wとbの変数を使ってください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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))