如何用python计算基尼系数(附示例)
基尼系数以意大利统计学家科拉多·基尼 (Corrado Gini)的名字命名,是衡量人口收入分配的一种方法。
基尼系数的值范围为0到1,其中值越高代表收入不平等程度越大,其中:
- 0代表完全收入平等(每个人收入相同)
- 1代表完全收入不平等(一个人拥有所有收入)
您可以在此处找到按国家/地区划分的基尼系数列表。
以下示例展示了如何在 Python 中计算基尼系数。
示例:用Python计算基尼系数
要在 Python 中计算基尼系数,我们首先需要定义一个简单的函数来计算 NumPy 值数组的基尼系数:
import numpy as np
#define function to calculate Gini coefficient
def gini(x):
total = 0
for i, xi in enumerate(x[:-1], 1):
total += np. sum (np. abs (xi - x[i:]))
return total / (len(x)**2 * np.mean (x))
接下来,我们将使用此函数计算收入值表的基尼系数。
例如,假设我们有以下 10 个人的年收入列表:
收入: 50,000 美元、50,000 美元、70,000 美元、70,000 美元、70,000 美元、90,000 美元、150,000 美元、150,000 美元、150,000 美元、150,000 美元
以下代码展示了如何使用我们刚刚创建的gini()函数来计算该人群的基尼系数:
#define NumPy array of income values
income = np. array ([50, 50, 70, 70, 70, 90, 150, 150, 150, 150])
#calculate Gini coefficient for array of incomes
gini(incomes)
0.226
基尼系数为0.226 。
注:在现实场景中,某个国家的个人会有数十万种不同的收入,但在本例中我们使用 10 个人作为简单说明。
其他资源
以下教程解释了如何使用不同的统计软件计算基尼系数: