Comment calculer le coefficient de variation en Python
Un coefficient de variation , souvent abrégé en CV , est un moyen de mesurer l’étalement des valeurs dans un ensemble de données par rapport à la moyenne. Il est calculé comme suit :
CV = σ / μ
où:
- σ : l’écart type de l’ensemble de données
- μ : la moyenne de l’ensemble de données
En clair, le coefficient de variation est simplement le rapport entre l’écart type et la moyenne.
Quand utiliser le coefficient de variation
Le coefficient de variation est souvent utilisé pour comparer la variation entre deux ensembles de données différents.
Dans le monde réel, il est souvent utilisé en finance pour comparer le rendement moyen attendu d’un investissement par rapport à l’écart type attendu de l’investissement. Cela permet aux investisseurs de comparer le compromis risque-rendement entre les investissements.
Par exemple, supposons qu’un investisseur envisage d’investir dans les deux fonds communs de placement suivants :
Fonds commun de placement A : moyenne = 9 %, écart-type = 12,4 %
OPCVM B : moyenne = 5 %, écart-type = 8,2 %
En calculant le coefficient de variation de chaque fonds, l’investisseur constate :
CV pour le fonds commun de placement A = 12,4 % /9 % = 1,38
CV pour le fonds commun de placement B = 8,2 % / 5 % = 1,64
Étant donné que le fonds commun de placement A a un coefficient de variation plus faible, il offre un meilleur rendement moyen par rapport à l’écart type.
Comment calculer le coefficient de variation en Python
Pour calculer le coefficient de variation d’un ensemble de données en Python, vous pouvez utiliser la syntaxe suivante :
import numpy as np cv = lambda x: np.std(x, ddof=1) / np.mean(x) * 100
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : Coefficient de variation pour un seul réseau
Le code suivant montre comment calculer le CV pour un seul tableau :
#create vector of data data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82] #define function to calculate cv cv = lambda x: np.std(x, ddof=1) / np.mean(x) * 100 #calculate CV cv(data) 9.234518
Le coefficient de variation s’avère être de 9,23 .
Exemple 2 : Coefficient de variation pour plusieurs vecteurs
Le code suivant montre comment calculer le CV de plusieurs colonnes dans un DataFrame pandas :
import numpy as np import pandas as pd #define function to calculate cv cv = lambda x: np.std(x, ddof=1) / np.mean(x) * 100 #create pandas DataFrame df = pd.DataFrame({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95], 'b': [77, 88, 85, 76, 81, 82, 88, 91, 92, 99], 'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, 84]}) #calculate CV for each column in data frame df.apply(cv) a 11.012892 b 8.330843 c 7.154009 dtype: float64
Notez que les valeurs manquantes seront simplement ignorées lors du calcul du coefficient de variation :
import numpy as np import pandas as pd #define function to calculate cv cv = lambda x: np.std(x, ddof=1) / np.mean(x) * 100 #create pandas DataFrame df = pd.DataFrame({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95], 'b': [77, 88, 85, 76, 81, 82, 88, 91, np.nan, 99], 'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, np.nan]}) #calculate CV for each column in data frame df.apply(cv) a 11.012892 b 8.497612 c 5.860924 dtype: float64
Ressources additionnelles
Comment calculer le coefficient de variation de R
Comment calculer le coefficient de variation dans Excel
Comment calculer le coefficient de variation dans Google Sheets