1. 学ぶ
  2. /
  3. プロジェクト
  4. /
  5. Pythonで学ぶ米国センサスデータ分析

Connected

演習

ループで D を計算する

Georgia の乖離指数(Index of Dissimilarity)0.544 は高いのでしょうか、低いのでしょうか。Chicago のある Illinois(FIPS = 17)と比べてみましょう。

この演習では、ループを使ってすべての州について \(D\) を計算し、Georgia と Illinois を比較します。

乖離指数の式は次のとおりです。

$$D = \frac{1}{2}\sum{\left\lvert \frac{a}{A} - \frac{b}{B} \right\rvert}$$

pandas は通常のエイリアスでインポート済みで、人口列 "white" と "black" を持つ tracts DataFrame が読み込まれています。変数 w と b は、それぞれ列名 "white" と "black" に設定されています。

指示

100 XP
  • "state" 列に対して unique() メソッドを使い、州の FIPS コードのリストを作成します。
  • for ループを使って、states の各要素(各 FIPS コード)を state という変数に取り出します。
  • state の各値で tracts DataFrame をフィルタリングし、tmp に代入します。
  • tmp に式を適用して各州の \(D\) を計算し、結果を辞書 state_D に保存します。