如何衡量隔离:差异指数

使用 Python 分析美国人口普查数据

Lee Hachadoorian

Asst. Professor of Instruction, Temple University

什么是隔离?

芝加哥的点密度图,用四色显示白人、黑人、亚裔和西语裔人口。同色点相互聚集,表明存在按种族分隔的格局。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$\color{white}{D = {\frac{1}{2}\sum_i}\color{white}{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$\color{white}{D = {\frac{1}{2}\sum_i}\color{white}{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数
  • $A$ = 大区域中 A 组人数
  • $B$ = 大区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$\color{red}D = \frac{1}{2}\sum_i{\left\lvert \frac{{a_i}}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数
  • $A$ = 大区域中 A 组人数
  • $B$ = 大区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$D = \color{white}{\frac{1}{2}\sum_i}\color{white}{\left\lvert \color{red}{\frac{a_i}{A}} \color{white}{- \frac{b_i}{B}} \right\rvert}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数
  • $A$ = 大区域中 A 组人数
  • $B$ = 大区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$D = \color{white}{\frac{1}{2}\sum_i}\color{white}{\left\lvert \frac{a_i}{A} - \color{red}{\frac{b_i}{B}} \right\rvert}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数
  • $A$ = 大区域中 A 组人数
  • $B$ = 大区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$D = \color{white}{\frac{1}{2}\sum_i}\color{red}{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数
  • $A$ = 大区域中 A 组人数
  • $B$ = 大区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$D = \color{white}{\frac{1}{2}}\color{red}{\sum_i}{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数
  • $A$ = 大区域中 A 组人数
  • $B$ = 大区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$D = \color{red}{\frac{1}{2}}\sum_i{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数
  • $A$ = 大区域中 A 组人数
  • $B$ = 大区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

差异指数公式

给定两组 A 和 B:

$$D = \frac{1}{2}\sum_i{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

  • $a_i$ = 小区域中 A 组人数
  • $b_i$ = 小区域中 B 组人数
  • $A$ = 大区域中 A 组人数
  • $B$ = 大区域中 B 组人数

一个被分成四个象限的方框,显示每个象限中 A 和 B 的人口。

使用 Python 分析美国人口普查数据

合适的数据

tracts.head()
  state county   tract  white  black
0    01    001  020100   1601    217
1    01    001  020200    844   1214
2    01    001  020300   2538    647
3    01    001  020400   4030    191
4    01    001  020500   8438   1418

来源:表 P5 - 2010 十年人口普查

  • white = 非西语裔白人人口
  • black = 非西语裔黑人人口
使用 Python 分析美国人口普查数据

计算差异指数(D)

# 使用州 FIPS "06" 提取加州普查区
ca_tracts = tracts[tracts["state"] == "06"]

# 定义便捷变量保存列名 w = "white" b = "black"
使用 Python 分析美国人口普查数据

计算差异指数(D)

# 打印加州所有普查区的黑人总人数
print(ca_tracts[b].sum())
2163804
# 打印加州所有普查区的白人总人数
print(ca_tracts[w].sum())
14956253
使用 Python 分析美国人口普查数据

计算差异指数(D)

$$D = \frac{1}{2}\sum_i{\left\lvert \frac{a_i}{A} - \frac{b_i}{B} \right\rvert}$$

# 计算差异指数
print(0.5 * sum(abs(
  ca_tracts[w] / ca_tracts[w].sum() - ca_tracts[b] / ca_tracts[b].sum()
  )))
0.6033425039167011
使用 Python 分析美国人口普查数据

Passons à la pratique !

使用 Python 分析美国人口普查数据

Preparing Video For Download...