gini
Introduite dans : v26.8.0
Calcule le coefficient de Gini d’une colonne de valeurs numériques finies et non négatives, qui mesure les inégalités au sein d’une distribution.
Le résultat est compris entre 0 (égalité parfaite : toutes les valeurs sont identiques) et un maximum qui tend vers 1 à mesure que n augmente (inégalité parfaite : une valeur détient tout et les autres sont nulles). Pour un échantillon fini de n valeurs, le maximum est (n - 1) / n.
Toutes les valeurs fournies sont collectées dans leur type d’entrée, puis triées avant le calcul final numériquement stable. Le coefficient est calculé à partir de différences normalisées entre paires adjacentes et renvoyé au format Float64 ; il est donc arrondi à la précision de Float64. La fonction consomme donc O(n) de mémoire, où n est le nombre de valeurs fournies. Les valeurs NaN sont ignorées, tandis que les valeurs infinies et négatives sont rejetées.
Syntaxe
gini(expr)Arguments
expr— Expression produisant des valeurs numériques finies et positives ou nulles.(U)Int*,Float*ouDecimal
Valeur renvoyée
Le coefficient de Gini, ou NaN s'il y a moins de 2 valeurs ou si leur somme est égale à 0. Float64
Exemples
Valeurs égales
SELECT gini(x) FROM (SELECT 100 AS x FROM numbers(10));┌─gini(x)─┐
│ 0 │
└─────────┘Distribution asymétrique
SELECT gini(x) FROM (SELECT number AS x FROM numbers(10));┌─────────────gini(x)─┐
│ 0.36666666666666664 │
└─────────────────────┘