Python でジニ係数を計算する方法 (例付き)


イタリアの統計学者コラード・ジニにちなんで名付けられたジニ係数は、人口の所得分布を測定する方法です。

ジニ係数の値の範囲は 0 から 1 で、値が大きいほど所得格差が大きいことを表します。

  • 0 は完全な収入の平等を表します (誰もが同じ収入を持っています)
  • 1 は完全な所得不平等を表します (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 人の個人を使用しました。

追加リソース

次のチュートリアルでは、さまざまな統計ソフトウェアを使用してジニ係数を計算する方法を説明します。

R のジニ係数を計算する方法
Excelでジニ係数を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です