English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Statistiques descriptives Pandas

Exemple d'opération statistique descriptive Pandas

Le DataFrame est utilisé pour de grandes quantités de calculs, d'informations statistiques descriptives et d'autres opérations connexes. La plupart de ces opérations sont des agrégations, telles que sum(), mean(), mais certaines agrégations (telles que sumsum()) génèrent des objets de la même taille. En règle générale, ces méthodes utilisent le paramètre axe, comme ndarray. {sum, std, ...} mais peuvent être spécifiées par nom ou par entier DataFrame − Index (axis=0, par défaut), colonnes (axis=1)

Nous allons créer un DataFrame et utiliser cet objet pour toutes les opérations de ce chapitre.

Instance

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    ,'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 # Créer un DataFrame
 df = pd.DataFrame(d)
 print(df)

Résultat de l'exécution :

        Âge  Nom   Évaluation
0   25   Tom     4.23
1   26   James   3.24
2   25   Ricky   3.98
3   23   Vin     2.56
4   30   Steve   3.20
5   29   Smith   4.60
6   23   Jack    3.80
7   34   Lee     3.78
8   40   David   2.98
9   30   Gasper  4.80
10  51   Betina  4.10
11  46   Andres  3.65

sum()

Renvoie la somme des valeurs de l'axe demandé. Par défaut, l'axe est l'indice (axe=0)

 import pandas as pd
 import numpy as np
  
 #Créer un dictionnaire de Series
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    ,'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.sum())

Résultat de l'exécution :

    Age                                                    382
Nom     TomJamesRickyVinSteveSmithJackLeeDavidGasperBe...
Rating                                               44.92
dtype: object

Chaque colonne individuelle ajoute une chaîne de caractères

axis=1

Cette syntaxe affichera le contenu suivant.

 import pandas as pd
 import numpy as np
  
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    ,'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
  
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.sum(1))

Résultat de l'exécution :

    0    29.23
1    29.24
2    28.98
3    25.56
4    33.20
5    33.60
6    26.80
7    37.78
8    42.98
9    34.80
10   55.10
11   49.65
dtype: float64

mean()

Retourne la valeur moyenne

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    ,'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.mean())

Résultat de l'exécution :

    Age       31.833333
Rating     3.743333
dtype: float64

std()

Retourne l'écart type standard Bressel des colonnes numériques.

 import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    ,'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.std())

Résultat de l'exécution :

    Age       9.232682
Rating    0.661628
dtype: float64

Fonctions & Description

Maintenant, nous allons comprendre les fonctionnalités des statistiques descriptives dans Python Pandas. Le tableau suivant répertorie les fonctionnalités importantes :

NuméroMéthodeDescription
1count()Nombre non nul
2sum()Total
3mean()Valeur moyenne
4median()Médiane
5mode()Mode
6std()Écart type
7min()Valeur minimale
8max()Valeur maximale
9abs()Valeur absolue
10prod()Produit
11cumsum()Somme cumulée
12cumprod()Produit cumulé
Attention : − Comme DataFrame est une structure de données hétérogène. Les opérations génériques ne s'appliquent pas à toutes les fonctions.
    Des fonctions telles que sum() ou cumsum() peuvent être utilisées pour les éléments de données numériques et de caractères (ou) de chaînes de caractères sans générer d'erreur. Bien que les ensembles de caractères ne soient pas couramment utilisés, ils ne provoquent pas d'exceptions.
  • Lorsque DataFrame contient des données de caractères ou de chaînes de caractères, des fonctions telles que abs() ou cumprod() provoquent des exceptions, car ces opérations ne peuvent pas être exécutées. Des fonctions telles que sum() ou cumsum() peuvent être utilisées pour les éléments de données numériques et de caractères (ou) de chaînes de caractères sans générer d'erreur. Bien que les ensembles de caractères ne soient pas couramment utilisés, ils ne provoquent pas d'exceptions.

Résumer les données

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    ,'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.describe())

Résultat de l'exécution :

                Age         Rating
count    12.000000      12.000000
mean     31.833333       3.743333
std       9.232682       0.661628
min      23.000000       2.560000
25%      25.000000       3.230000
50%      29.500000       3.790000
75%      35.500000       4.132500
max      51.000000       4.800000

Cette fonction fournit les valeurs moyennes, std et IQR. Et, la fonction ne comprend pas les colonnes de caractères et les résumés donnés des colonnes numériques. "include" est un paramètre nécessaire pour transmettre les informations nécessaires sur les colonnes à considérer lors de la汇总. La liste de valeurs ; par défaut, il s'agit de "numérique".

objet − Résumer les colonnes de chaînes de caractèresnumérique − Résumer les colonnes numériquestout − Résumer toutes les colonnes ensemble (ne pas le faire sous forme de valeur de liste)

Nous utilisons les instructions suivantes dans le programme et les exécutons pour obtenir la sortie :

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    ,'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df.describe(include=['object']))

Résultat de l'exécution :

           Nom
count       12
unique      12
top      Ricky
freq         1

Nous utilisons les instructions suivantes dans le programme et les exécutons pour obtenir la sortie :

  import pandas as pd
 import numpy as np
 # 创建一个series字典
 d = {'Name':pd.Series(['Tom','James','Ricky','Vin','Steve','Smith','Jack',
    'Lee','David','Gasper','Betina','Andres']),
    ,'Age':pd.Series([25,26,25,23,30,29,23,34,40,30,51,46]),
    'Rating':pd.Series([4.23,3.24,3.98,2.56,3.20,4.6,3.8,3.78,2.98,4.80,4.10,3.65])
 }
 #创建一个DataFrame
 df = pd.DataFrame(d)
 print(df. describe(include='all'))

Résultat de l'exécution :

           Age          Name       Rating
count   12.000000        12    12.000000
unique        NaN        12          NaN
top           NaN     Ricky          NaN
freq          NaN         1          NaN
mean    31.833333       NaN     3.743333
std      9.232682       NaN     0.661628
min     23.000000       NaN     2.560000
25%     25.000000       NaN     3.230000
50%     29.500000       NaN     3.790000
75%     35.500000       NaN     4.132500
max     51.000000       NaN     4.800000