Python >> Tutoriel Python >  >> Python Tag >> Pandas

Pandas mad(), min(), max(), mean(), median() et mode()

Le DataFrame Pandas a plusieurs méthodes concernant les Calculs et Statistiques descriptives . Lorsqu'il est appliqué à un DataFrame , ces méthodes évaluent les éléments et renvoient les résultats.


Préparation

Avant toute manipulation de données, deux (2) nouvelles bibliothèques devront être installées.

  • Les pandas la bibliothèque permet l'accès à/depuis un DataFrame .
  • Le NumPy prend en charge les tableaux et matrices multidimensionnels en plus d'une collection de fonctions mathématiques.

Pour installer ces bibliothèques, accédez à un terminal IDE. A l'invite de commande ($ ), exécutez le code ci-dessous. Pour le terminal utilisé dans cet exemple, l'invite de commande est un signe dollar ($ ). L'invite de votre terminal peut être différente.

$ pip install pandas

Appuyez sur le <Enter> touche du clavier pour démarrer le processus d'installation.

$ pip install numpy

Appuyez sur le <Enter> touche du clavier pour démarrer le processus d'installation.

Si les installations ont réussi, un message s'affiche dans le terminal indiquant la même chose.


N'hésitez pas à consulter le guide d'installation de PyCharm pour les bibliothèques requises.

  • Comment installer Pandas sur PyCharm
  • Comment installer NumPy sur PyCharm

Ajoutez le code suivant en haut de chaque extrait de code. Cet extrait permettra au code de cet article de s'exécuter sans erreur.

import pandas as pd
import numpy as np 

DataFrame mad()

Le mad() méthode (écart absolu moyen ) est la distance moyenne de tous les éléments DataFrame par rapport à la moyenne.

Pour bien comprendre MAD d'un point de vue mathématique, n'hésitez pas à regarder ce court tutoriel :

La syntaxe de cette méthode est la suivante :

DataFrame.mad(axis=None, skipna=None, level=None)
Paramètre Description
axis Si zéro (0) ou index est sélectionné, appliquer à chaque colonne. 0 par défaut.
Si un (1) s'applique à chaque ligne.
skipna Si ce paramètre est True , tout NaN /Valeur(s) NULL ignorée(s). Si False , toutes valeurs comprises :valide ou vide. Si aucune valeur, alors None est supposé.
level Définissez le paramètre approprié si le DataFrame/Series est à plusieurs niveaux. Si aucune valeur, alors None est supposé.

Cet exemple récupère le MAD de quatre (4) équipes de hockey.

df_teams = pd.DataFrame({'Bruins':   [4, 5, 9],
                         'Oilers':   [3, 6, 10],
                         'Leafs':    [2, 7, 11],
                         'Flames':   [1, 8, 12]})

result = df_teams.mad(axis=0).apply(lambda x:round(x,3))
print(result)
  • La ligne [1] crée un DataFrame à partir d'un dictionnaire de listes et l'enregistre dans df_teams .
  • La ligne [2] utilise le mad() méthode avec le axis paramètre défini sur colonnes pour calculer MAD à partir du DataFrame. La fonction lambda formate la sortie à trois (3) décimales. Cette sortie enregistre dans le result variables.
  • La ligne [3] envoie le résultat au terminal.

Sortie

Bruins 2.000
Huiliers 2.444
Feuilles 3.111
Flammes 4 000
dtype : float64

DataFrame min()

Le min() La méthode renvoie la ou les plus petites valeurs d'un DataFrame/Series. Les méthodes suivantes peuvent accomplir cette tâche :

  • Le DataFrame.min() méthode, ou
  • Le numpy.minimum() méthode

La syntaxe de cette méthode est la suivante :

DataFrame.min(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
Paramètre Description
axis Si zéro (0) ou index est sélectionné, appliquer à chaque colonne. 0 par défaut.
Si un (1) s'applique à chaque ligne.
skipna Si ce paramètre est True , tout NaN /Valeur(s) NULL ignorée(s). Si False , toutes valeurs comprises :valide ou vide. Si aucune valeur, alors None est supposé.
level Définissez le paramètre approprié si le DataFrame/Series est à plusieurs niveaux. Si aucune valeur, alors None est supposé.
numeric_only N'incluez que les colonnes qui contiennent des entiers, des flottants ou des valeurs booléennes.
**kwargs C'est ici que vous pouvez ajouter des mots-clés supplémentaires.

Pour cet exemple, nous déterminerons quelle(s) équipe(s) ont le plus petit nombre de victoires, de défaites ou d'égalités.

Exemple de code 1

df_teams = pd.DataFrame({'Bruins':    [4, 5,  9],
                         'Oilers':    [3, 6, 14],
                         'Leafs':     [2, 7, 11],
                         'Flames':    [21, 8, 7]})

result = df_teams.min(axis=0)
print(result)
  • La ligne [1] crée un DataFrame à partir d'un dictionnaire de listes et l'enregistre en df_teams .
  • La ligne [2] utilise le min() avec le paramètre axis défini sur columns pour récupérer la ou les valeurs minimales du DataFrame. Cette sortie enregistre dans le result variables.
  • La ligne [3] envoie le résultat au terminal.

Sortie

Bruins 4
Huiliers 3
Feuilles 2
Flammes 8
dtype : int64

Cet exemple utilise deux (2) tableaux et récupère la ou les valeurs minimales de la série.

Exemple de code 2

c11_grades = [63, 78, 83, 93]
c12_grades = [73, 84, 79, 83]

result = np.minimum(c11_grades, c12_grades)
print(result)
  • Ligne [1-2] crée des listes de notes aléatoires et les affecte à la variable appropriée.
  • Ligne [3] utilise le minimum NumPy pour comparer les deux (2) tableaux. Cette sortie enregistre dans le result variables.
  • La ligne [4] envoie le résultat au terminal.

Sortie

[63 78 79 83]

DataFrame max()

Le max() La méthode renvoie la ou les valeurs les plus élevées d'un DataFrame/Series. Les méthodes suivantes peuvent accomplir cette tâche :

  • Le DataFrame.max() méthode, ou
  • Le n p .maximum() méthode

La syntaxe de cette méthode est la suivante :

DataFrame.max(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
Paramètre Description
axis Si zéro (0) ou index est sélectionné, appliquer à chaque colonne. 0 par défaut.
Si un (1) s'applique à chaque ligne.
skipna Si ce paramètre est True , tout NaN /Valeur(s) NULL ignorée(s). Si False , toutes valeurs comprises :valide ou vide. Si aucune valeur, alors None est supposé.
level Définissez le paramètre approprié si le DataFrame/Series est à plusieurs niveaux. Si aucune valeur, alors None est supposé.
numeric_only N'incluez que les colonnes qui contiennent des entiers, des flottants ou des valeurs booléennes.
**kwargs C'est ici que vous pouvez ajouter des mots-clés supplémentaires.

Pour cet exemple, nous déterminerons quelle(s) équipe(s) ont le plus grand nombre de victoires, de défaites ou d'égalités.

Exemple de code 1

df_teams = pd.DataFrame({'Bruins':    [4, 5,  9],
                         'Oilers':    [3, 6, 14],
                         'Leafs':     [2, 7, 11],
                         'Flames':    [21, 8, 7]})

result = df_teams.max(axis=0)
print(result)
  • La ligne [1] crée un DataFrame à partir d'un dictionnaire de listes et l'enregistre dans df_teams .
  • La ligne [2] utilise max() avec le axis paramètre défini sur colonnes pour récupérer la ou les valeurs maximales du DataFrame. Cette sortie enregistre dans le result variables.
  • La ligne [3] envoie le résultat au terminal.

Sortie

Bruins 9
Huiliers 14
Feuilles 11
Flammes 21
dtype : int64

Cet exemple utilise deux (2) tableaux et récupère la ou les valeurs maximales de la série.

Exemple de code 2

c11_grades = [63, 78, 83, 93]
c12_grades = [73, 84, 79, 83]

result = np.maximum(c11_grades, c12_grades)
print(result)
  • Ligne [1-2] crée des listes de notes aléatoires et les affecte à la variable appropriée.
  • Ligne [3] utilise la fonction maximum de la bibliothèque NumPy pour comparer les deux (2) tableaux. Cette sortie enregistre dans le result variables.
  • La ligne [4] envoie le résultat au terminal.

Sortie

[73 84 83 93]

Moyenne DataFrame()

Le mean() La méthode renvoie la moyenne du DataFrame/Series sur un axe demandé. Si un DataFrame est utilisé, les résultats renverront une série. Si une série est utilisée, le résultat renverra un seul nombre (flottant).

Les méthodes suivantes peuvent accomplir cette tâche :

  • Le DataFrame.mean() méthode, ou
  • Le Series.mean() méthode

La syntaxe de cette méthode est la suivante :

DataFrame.mean(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
Paramètre Description
axis Si zéro (0) ou index est sélectionné, appliquer à chaque colonne. 0 par défaut.
Si un (1) s'applique à chaque ligne.
skipna Si ce paramètre est True , tout NaN /Valeur(s) NULL ignorée(s). Si False , toutes valeurs comprises :valide ou vide. Si aucune valeur, alors None est supposé.
level Définissez le paramètre approprié si le DataFrame/Series est à plusieurs niveaux. Si aucune valeur, alors None est supposé.
numeric_only N'incluez que les colonnes qui contiennent des entiers, des flottants ou des valeurs booléennes.
**kwargs C'est ici que vous pouvez ajouter des mots-clés supplémentaires.

Pour cet exemple, nous déterminerons la moyenne des victoires, des défaites et des égalités pour nos équipes de hockey.

Exemple de code 1

df_teams = pd.DataFrame({'Bruins':    [4, 5,  9],
                         'Oilers':    [3, 6, 14],
                         'Leafs':     [2, 7, 11],
                         'Flames':    [21, 8, 7]})

result = df_teams.mean(axis=0).apply(lambda x:round(x,2))
print(result)
  • La ligne [1] crée un DataFrame à partir d'un dictionnaire de listes et l'enregistre dans df_teams .
  • La ligne [2] utilise le mean() méthode avec le axis paramètre défini sur les colonnes pour calculer les moyennes (moyennes) à partir du DataFrame. La fonction lambda formate la sortie à deux (2) décimales. Cette sortie enregistre dans le result variables.
  • La ligne [3] envoie le résultat au terminal.

Sortie

Bruins 6.00
Huiliers 7.67
Feuilles 6.67
Flammes 12.00
dtype : float64

Pour cet exemple, Alice Accord, une employée de Rivers Clothing, a enregistré ses heures pour la semaine. Calculons la moyenne (moyenne) des heures travaillées par jour.

Exemple de code 2

hours  = pd.Series([40.5, 37.5, 40, 55])
result = hours.mean()
print(result)
  • Ligne [1] crée une série d'heures travaillées pour la semaine et enregistre des heures.
  • La ligne [2] utilise le mean() méthode pour calculer la moyenne (moyenne). Cette sortie enregistre dans le result variables.
  • La ligne [3] envoie le résultat au terminal.

Sortie

42.25

médiane DataFrame()

Le median() calcule et renvoie la médiane des éléments DataFrame/Series sur un axe demandé. En d'autres termes, la médiane détermine le(s) nombre(s) médian(s) de l'ensemble de données.

Pour bien comprendre la médiane d'un point de vue mathématique, regardez ce court tutoriel :

La syntaxe de cette méthode est la suivante :

DataFrame.median(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)
Paramètre Description
axis Si zéro (0) ou index est sélectionné, appliquer à chaque colonne. 0 par défaut.
Si un (1) s'applique à chaque ligne.
skipna Si ce paramètre est True , tout NaN /Valeur(s) NULL ignorée(s). Si False , toutes valeurs comprises :valide ou vide. Si aucune valeur, alors None est supposé.
level Définissez le paramètre approprié si le DataFrame/Series est à plusieurs niveaux. Si aucune valeur, alors None est supposé.
numeric_only N'incluez que les colonnes qui contiennent des entiers, des flottants ou des valeurs booléennes.
**kwargs C'est ici que vous pouvez ajouter des mots-clés supplémentaires.

Nous déterminerons la valeur médiane (2) pour nos équipes de hockey pour cet exemple.

df_teams = pd.DataFrame({'Bruins':    [4, 5,  9],
                         'Oilers':    [3, 6, 14],
                         'Leafs':     [2, 7, 11],
                         'Flames':    [21, 8, 7]})

result = df_teams.median(axis=0)
print(result)
  • La ligne [1] crée un DataFrame à partir d'un dictionnaire de listes et l'enregistre dans df_teams .
  • La ligne [2] utilise le median() méthode pour calculer la médiane des équipes. Cette sortie enregistre dans le result variables.
  • La ligne [3] envoie le résultat au terminal.

Sortie

Bruins 5.0
Huiliers 6.0
Feuilles 7.0
Flammes 8.0
dtype : float64

Mode DataFrame()

Le mode() détermine les nombres les plus couramment utilisés dans un DataFrame/Series.

La syntaxe de cette méthode est la suivante :

DataFrame.mode(axis=0, numeric_only=False, dropna=True)
Paramètre Description
axis Si zéro (0) ou index est sélectionné, appliquer à chaque colonne. 0 par défaut.
Si un (1) s'applique à chaque ligne.
numeric_only N'incluez que les colonnes qui contiennent des entiers, des flottants ou des valeurs booléennes.
dropna Si défini sur True , ce paramètre ignore tous les NaN et NaT valeurs. Par défaut, cette valeur est True.

Pour cet exemple, nous déterminons les nombres qui apparaissent plus d'une fois.

df_teams = pd.DataFrame({'Bruins':    [4, 5,  9],
                         'Oilers':    [3, 9, 13],
                         'Leafs':     [2, 7, 4],
                         'Flames':    [13, 9, 7]})

result = df_teams.mode(axis=0)
print(result)
  • La ligne [1] crée un DataFrame à partir d'un dictionnaire de listes et l'enregistre dans df_teams .
  • La ligne [2] utilise le mode() méthode sur la colonne axis . Cette sortie enregistre dans le result variables.
  • La ligne [3] envoie le résultat au terminal.

Sortie

Bruins Huiliers Feuilles Flammes
0 4 3 2 7
1 5 9 4 9
2 9 13 7 13

Vous pouvez voir d'où viennent les chiffres dans cette visualisation :


Ressources d'apprentissage supplémentaires

Ceci est la partie 4 de la série de méthodes DataFrame.

  • Partie 1 se concentre sur les méthodes DataFrame abs() , all() , any() , clip() , corr() , et corrwith() .
  • Partie 2 se concentre sur les méthodes DataFrame count() , cov() , cummax() , cummin() , cumprod() , cumsum() .
  • Partie 3 se concentre sur les méthodes DataFrame describe() , diff() , eval() , kurtosis() .
  • Partie 4 se concentre sur les méthodes DataFrame mad() , min() , max() , mean() , median() , et mode() .
  • Partie 5 se concentre sur les méthodes DataFrame pct_change() , quantile() , rank() , round() , prod() , et product() .
  • Partie 6 se concentre sur les méthodes DataFrame add_prefix() , add_suffix() , et align() .
  • Partie 7 se concentre sur les méthodes DataFrame at_time() , between_time() , drop() , drop_duplicates() et duplicated() .
  • Partie 8 se concentre sur les méthodes DataFrame equals() , filter() , first() , last(), head() , et tail()
  • Partie 9 se concentre sur les méthodes DataFrame equals() , filter() , first() , last() , head() , et tail()
  • Partie 10 se concentre sur les méthodes DataFrame reset_index() , sample() , set_axis() , set_index() , take() , et truncate()
  • Partie 11 se concentre sur les méthodes DataFrame backfill() , bfill() , fillna() , dropna() , et interpolate()
  • Partie 12 se concentre sur les méthodes DataFrame isna() , isnull() , notna() , notnull() , pad() et replace()
  • Partie 13 se concentre sur les méthodes DataFrame drop_level() , pivot() , pivot_table() , reorder_levels() , sort_values() et sort_index()
  • Partie 14 se concentre sur les méthodes DataFrame nlargest() , nsmallest() , swap_level() , stack() , unstack() et swap_axes()
  • Partie 15 se concentre sur les méthodes DataFrame melt() , explode() , squeeze() , to_xarray() , t() et transpose()
  • Partie 16 se concentre sur les méthodes DataFrame append() , assign() , compare() , join() , merge() et update()
  • Partie 17 se concentre sur les méthodes DataFrame asfreq() , asof() , shift() , slice_shift() , tshift() , first_valid_index() , et last_valid_index()
  • Partie 18 se concentre sur les méthodes DataFrame resample() , to_period() , to_timestamp() , tz_localize() , et tz_convert()
  • Partie 19 se concentre sur l'aspect visualisation des DataFrames et des séries via le traçage, comme plot() , et plot.area() .
  • Partie 20 se concentre sur la poursuite de l'aspect visualisation des DataFrames et des séries via des tracés tels que hexbin, hist, camembert et nuages ​​de points.
  • Partie 21 se concentre sur les méthodes de sérialisation et de conversion from_dict() , to_dict() , from_records() , to_records() , to_json() , et to_pickles() .
  • Partie 22 se concentre sur les méthodes de sérialisation et de conversion to_clipboard() , to_html() , to_sql() , to_csv() , et to_excel() .
  • Partie 23 se concentre sur les méthodes de sérialisation et de conversion to_markdown() , to_stata() , to_hdf() , to_latex() , to_xml() .
  • Partie 24 se concentre sur les méthodes de sérialisation et de conversion to_parquet() , to_feather() , to_string() , Styler .
  • Partie 25 se concentre sur les méthodes de sérialisation et de conversion to_bgq() et to_coo() .

Consultez également l'aide-mémoire sur les méthodes Pandas DataFrame !