隔離は隔離を生む
シカゴには、アフリカ系アメリカ人とその他の人種が混在するトラクトが比較的少ないことを見てきました。では、これらのトラクトは時間とともにどのように変化するのでしょうか。tracts_cook は読み込まれており、2010年のアフリカ系アメリカ人の割合はすでに計算済みです。まず1990年について同じ計算を行い、その後、2010年の値から差し引いてポイント差(割合ポイントの変化)を求めます。次に、この変化量を初期値(1990年)に対して regplot でプロットします。
グラフを解釈しやすくするために、変化が「ゼロ」であることを示す赤い基準線を追加します。regplot では、lowess = True を指定して、データの局所的な傾向を示す LOWESS 曲線を追加することもできます。
pandas と seaborn は通常のエイリアスで読み込まれています。
この演習はコースの一部です
Pythonで学ぶ米国センサスデータ分析
演習の手順
- 1990年の各トラクトにおけるアフリカ系アメリカ人の割合を計算します
- 2010年の値から1990年の値を差し引き、アフリカ系アメリカ人の割合ポイントの変化を計算します
- 人種が混在するトラクトに焦点を当てるため、
pct_black_1990が30%から70%の範囲にあるトラクトにtracts_cookを絞り込みます - 1990年のブラック比率(x軸)に対する1990–2000年のブラック比率の変化(y軸)をプロットし、
lowess = Trueを使って平滑化したトレンド曲線を追加します
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Calculate percent Black in 1990 and percentage point change from 1990 to 2000
tracts_cook["pct_black_1990"] = ____
tracts_cook["pct_black_change"] = ____
# Retain tracts between 30% and 70% Black in 1990
tracts_mixed = tracts_cook[(____) & (____)]
# Plot change vs. percent Black in 1990, with "no change" reference line
sns.regplot(____, ____, ____, data = tracts_mixed)
plt.plot([30, 70], [0, 0], linestyle = "--", color = "red")
plt.show()