Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

gini

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* ou Decimal

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 │
└─────────────────────┘
Navigation