Fonction Pandas Series.quantile()
Series.quantile()Il s'agit d'une fonction de Pandas utilisée pour calculer les quantiles d'une Series. Les quantiles sont des valeurs qui divisent des données ordonnées en plusieurs parts égales ; les plus courants incluent les quartiles (25 %, 50 %, 75 %), la médiane (50 %), etc.
Les quantiles sont des indicateurs importants pour décrire la distribution des données. Ils aident à comprendre la forme de la distribution et à identifier les valeurs aberrantes. Ils sont largement utilisés dans l'analyse statistique, le classement des scores, l'analyse des revenus et d'autres scénarios.
Syntaxe de base et paramètres
quantile()C'est une fonction membre de l'objet Series, appelée directement à l'aide de l'opérateur point.
Format de syntaxe
Series.quantile(q=0.5, interpolation='linear', numeric_only=True, closed='both')
Description du paramètre
| Paramètre | Type | Description | Valeur par défaut |
|---|---|---|---|
| q | float ou array-like | La ou les valeurs de quantile, allant de 0 à 1. Peut être une valeur unique ou une liste de plusieurs valeurs. | 0.5 |
| interpolation | str | La méthode d'interpolation utilisée lorsque le quantile se situe entre deux valeurs. Valeurs optionnelles : 'linear', 'lower', 'higher', 'nearest', 'midpoint'. | 'linear' |
| numeric_only | bool | Si True, seules les données numériques sont calculées. | True |
| closed | str | Utilisé dans DataFrame pour déterminer la fermeture de l'intervalle. Pas couramment utilisé dans Series. | 'both' |
Valeur de retour
- Type de retour:
floatouSeries - DescriptionRenvoie la valeur au quantile spécifié. Si q est une valeur unique, renvoie un float ; si q est une liste, renvoie une Series.
Exemples
Maîtrisons à fond, à travers une série d'exemples du simple au complexe,Series.quantile()l'utilisation de Series.quantile().
Exemple 1 : Utilisation de base - Calcul de la médiane
La médiane est le quantile à 50% et est le quantile le plus couramment utilisé.
Exemple
# Créer une Series contenant les notes des étudiants
scores = pd.Series([65, 70, 72, 75, 78, 80, 82, 85, 88, 90, 92, 95])
print("Notes des étudiants :")
print(scores)
print()
# Calculer la médiane (quantile à 50%)
median_score = scores.quantile(0.5)
print(f"Médiane : {median_score}")
print(f"Utilisation de la fonction median() : {scores.median()}")
print()
print("Analyse : 50% des scores des étudiants sont inférieurs ou égaux à 80.")
Sortie :
学生成绩: 0 65 1 70 2 72 3 75 4 75 5 80 6 80 7 85 8 88 9 90 10 92 11 95 dtype: int64 中位数:80.0 中位数(使用 median() 函数):80.0
Explication du code :
quantile(0.5)Équivalent àmedian()。- La médiane divise les données en deux moitiés ; 50% des données sont inférieures ou égales à la médiane.
Exemple 2 : Calcul des quartiles
Les quartiles divisent les données en quatre parties égales : 25%, 50%, 75%.
Exemple
# Créer une Series contenant le revenu des employés
income = pd.Series([3000, 3500, 3800, 4000, 4200, 4500, 5000, 5500, 6000, 8000, 15000])
print("Données sur le revenu mensuel des employés (yuan) :")
print(income)
print()
# Calculer les trois quartiles
q1 = income.quantile(0.25) # Premier quartile (25%)
q2 = income.quantile(0.50) # Deuxième quartile / médiane (50%)
q3 = income.quantile(0.75) # Troisième quartile (75%)
print(f"Premier quartile Q1 (25%) : {q1} yuan")
print(f"Deuxième quartile Q2 (50%) : {q2} yuan")
print(f"Troisième quartile Q3 (75%) : {q3} yuan")
print()
# Calculer l'écart interquartile (IQR)
iqr = q3 - q1
print(f"Écart interquartile IQR : {iqr} yuan")
print()
print("Analyse :")
print("- 25% des employés gagnent 4000 yuan ou moins")
print("- 50% des employés gagnent 5000 yuan ou moins")
print("- 75% des employés gagnent 6000 yuan ou moins")
print("- Plus l'IQR est grand, plus les données sont dispersées")
Sortie :
员工月收入数据(元): 1 3000 2 低于 3800 3 4000 4 4200 5 4500 6 5000 7 5500 8 6000 9 8000 10 15000 dtype: int64 Q1(25% 分位):4000.0 元 Q2(50% 分位):5000.0 元 Q3(75% 分位):6000.0 元 四分位距 IQR = 6000 - 4000 = 2000 元
Exemple 3 : Calcul de plusieurs quantiles à la fois
Vous pouvez calculer plusieurs quantiles à la fois.
Exemple
# Créer des données
data = pd.Series([10, 20, 30, 40, 50, 60, 70, 80, 90, 100])
print("Données :")
print(data)
print()
# Calculer plusieurs quantiles
percentiles = data.quantile([0, 0.1, 0.25, 0.5, 0.75, 0.9, 1.0])
print("Quantiles :")
print(percentiles)
print()
# Le quantile peut aussi être spécifié comme une chaîne de pourcentage (valeur unique uniquement)
print(f"En utilisant la chaîne '50%' : {data.quantile('50%')}")
print(f"En utilisant la chaîne '0.5' : {data.quantile(0.5)}")
Sortie :
数据: 0 10 1 20 2 30 3 40 4 50 量值:60 5 70 6 80 7 90 8 100 dtype: int 参数 多个分位数: 0.00 10.0 0.10 19.0 0.25 32.5 0.50 50.0 0.75 67.5 0.90 81.0 1.00 100.0 dtype: float64
Exemple 4 : Le rôle du paramètre d'interpolation
Lorsque le quantile se situe entre deux valeurs, différentes méthodes d'interpolation produisent des résultats différents.
Exemple
# Créer une Series avec 6 éléments
data = pd.Series([10, 20, 30, 40, 50, 60])
print("Données :", data.values)
print()
# Calculer le quantile à 30% (entre 20 et 30)
# position = (n-1) * q = 5 * 0.3 = 1.5
print("quantile à 30% avec différentes méthodes d'interpolation :")
linear = data.quantile(0.3, interpolation='linear')
print(f"linear (interpolation linéaire, par défaut) : {linear}")
lower = data.quantile(0.3, interpolation='lower')
print(f"lower (prendre la plus petite valeur) : {lower}")
higher = data.quantile(0.3, interpolation='higher')
print(f"higher (prendre la plus grande valeur) : {higher}")
nearest = data.quantile(0.3, interpolation='nearest')
print(f"nearest (prendre la valeur la plus proche) : {nearest}")
midpoint = data.quantile(0.3, interpolation='midpoint')
print(f"midpoint (prendre le point milieu) : {midpoint}")
Sortie :
数据:[10, 20, 30, 40, 50, 60] 位置计算:(n-1) * q = 5 * 0.3 = 1.5,表示在 20 和 30 之间 不同插值方法的结果: - linear(线性插值,默认):23.0 - lower(向下取整):20.0 - higher(向上取整):30.0 - nearest(最近邻):20.0 - midpoint(中间值):25.0
Explication du code :
interpolation='linear'Effectue une interpolation linéaire entre les deux valeurs, 20 + (30-20)*0.5 = 23.interpolation='lower'Prend la valeur ayant le plus petit indice, c'est-à-dire 20.interpolation='higher'Prend la valeur avec l'indice le plus grand, c'est-à-dire 30.interpolation='nearest'Prend la valeur la plus proche de la position du quantile.interpolation='midpoint'Prend le point milieu des deux valeurs, c'est-à-dire (20+30)/2 = 25.
Exemple 5 : Utilisation des quantiles pour identifier les valeurs aberrantes
L'écart interquartile (IQR) est souvent utilisé pour identifier les valeurs aberrantes dans les données.
Exemple
# Créer des données contenant quelques valeurs aberrantes
data = pd.Series([12, 15, 18, 20, 22, 25, 28, 30, 32, 150])
print("Données (avec valeurs aberrantes) :")
print(data)
print()
# Calculer les quartiles
q1 = data.quantile(0.25)
q3 = data.quantile(0.75)
iqr = q3 - q1
# Calculer les limites des valeurs aberrantes
lower_bound = q1 - 1.5 * iqr
upper_bound = q3 + 1.5 * iqr
print(f"Q1(25%):{q1}")
print(f"Q3(75%):{q3}")
print(f"IQR : {iqr}")
print()
print(f"Borne inférieure des valeurs normales : {lower_bound}")
print(f"Borne supérieure des valeurs normales : {upper_bound}")
print()
# Identifier les valeurs aberrantes
outliers = data[(data upper_bound)]
print(f"Valeurs aberrantes : {outliers.values}")
print()
print("Analyse : 150 est une valeur aberrante évidente, dépassant la borne supérieure.")
Sortie :
数据(含异常值): 3 150 4 22 5 25 6 28 7 30 8 32 9 150 dtype: int64 Q1(25%):18.75 Q3(75%):30.25 IQR = 11.5 正常值下界:1.5 正常值上界:47.5 异常值:150 分析:150 明显超出了正常范围,是一个异常值。
Notes
- La valeur du quantile est comprise entre 0 et 1.
- Par défaut, la méthode d'interpolation linéaire est utilisée pour calculer les quantiles.
- Lorsque q est une liste, la valeur de retour est une Series plutôt qu'une seule valeur.
- Les quantiles peuvent être utilisés pour identifier des valeurs aberrantes dans les données ; une méthode courante est la règle IQR (1.5 fois l'écart interquartile).
- Pour les grands ensembles de données, le calcul des quantiles est très efficace.
Résumé
Series.quantile()C'est une fonction importante pour analyser la distribution des données. Ses principales caractéristiques incluent :
- Prend en charge le calcul de n'importe quel quantile (entre 0 et 1).
- Peut calculer plusieurs quantiles à la fois.
- Fournit plusieurs méthodes d'interpolation pour répondre à différents besoins.
- Très utile pour identifier les valeurs aberrantes.
Dans l'analyse pratique des données, les quantiles sont souvent utilisés pour comprendre la forme de la distribution des données, comparer différents ensembles de données, identifier les valeurs aberrantes, etc. Lorsqu'ils sont combinés avec des boîtes à moustaches, ils peuvent afficher la distribution des données de manière plus intuitive.
Autres extensions
Fonctions courantes de Pandas