Pandas DataFrame DataFrame.dropna() Fonction

Minahil Noor 30 janvier 2023
  1. Syntaxe de pandas.DataFrame.dropna()
  2. Exemples de codes: DataFrame.dropna() pour supprimer la ligne
  3. Exemples de codes: DataFrame.dropna() pour supprimer la colonne
  4. Exemples de codes: DataFrame.dropna() avec how = all
  5. Exemples de codes: DataFrame.dropna() avec un sous-ensemble ou un thresh spécifié
  6. Exemples de codes: DataFrame.dropna() avec inplace = True
Pandas DataFrame DataFrame.dropna() Fonction

La fonction pandas.DataFrame.dropna() supprime les valeurs nulles (valeurs manquantes) de la DataFrame en supprimant les lignes ou les colonnes contenant les valeurs nulles.

NaN (pas un nombre) et NaT (pas un temps) représentent les valeurs nulles. DataFrame.dropna() détecte ces valeurs et filtre le DataFrame en conséquence.

Syntaxe de pandas.DataFrame.dropna()

DataFrame.dropna(axis, how, thresh, subset, inplace)

Paramètres

axis Il détermine que l’axe doit être une ligne ou une colonne.
Si c’est 0 ou 'index', alors il supprime les lignes contenant des valeurs manquantes.
Si c’est 1 ou 'columns', alors il supprime les colonnes contenant les valeurs manquantes. Par défaut, sa valeur est 0.
how Ce paramètre détermine comment la fonction supprime les lignes ou les colonnes. Il n’accepte que deux string, any ou all. Par défaut, il est défini sur any.
any supprime la ligne ou la colonne s’il contient une valeur nulle.
all supprime la ligne ou la colonne si toutes les valeurs y manquent.
thresh Il s’agit d’un entier qui spécifie le moins de valeurs non manquantes qui empêchent les lignes ou les colonnes de tomber.
subset C’est un tableau qui a les noms de lignes ou de colonnes pour spécifier la procédure de suppression.
inplace Il s’agit d’une valeur booléenne qui change l’appelant DataFrame si elle est définie sur True. Par défaut, sa valeur est False.

Revenir

Il retourne un DataFrame filtré avec des lignes ou des colonnes supprimées en fonction des paramètres passés.

Exemples de codes: DataFrame.dropna() pour supprimer la ligne

Par défaut, l’axe est 0, c’est-à-dire les lignes, donc toutes les sorties ont des lignes supprimées.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: None, 2: 80,3: None, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: None, 1: 75, 2: 82, 3: 64, 4: None}})
print(dataframe)

L’exemple DataFrame est le suivant.

   Attendance    Name  Obtained Marks
0        60.0  Olivia             NaN
1         NaN    John            75.0
2        80.0   Laura            82.0
3         NaN     Ben            64.0
4        95.0   Kevin             NaN

Tous les paramètres de cette fonction sont facultatifs. Si nous ne transmettons aucun paramètre, la fonction supprime toutes les lignes contenant une seule valeur nulle.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)
dataframe1 = dataframe.dropna()
print(dataframe1)

Production:

   Attendance   Name  Obtained Marks
2        80.0  Laura            82.0

Il a supprimé toutes les lignes contenant une seule valeur manquante.

Exemples de codes: DataFrame.dropna() pour supprimer la colonne

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)
dataframe1 = dataframe.dropna(axis=1)

print(dataframe1)

Production:

     Name
0  Olivia
1    John
2   Laura
3     Ben
4   Kevin

Il a supprimé toutes les colonnes qui contenaient une seule valeur manquante car nous avons défini axis = 1 dans la méthode DataFrame.dropna().

Exemples de codes: DataFrame.dropna() avec how = all

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)

dataframe1 = dataframe.dropna(axis=1, how="all")
print(dataframe1)

Production:

   Attendance    Name  Obtained Marks
0        60.0  Olivia             NaN
1         NaN    John            75.0
2        80.0   Laura            82.0
3         NaN     Ben            64.0
4        95.0   Kevin             NaN

Les lignes contenant les valeurs manquantes ne sont pas supprimées car le paramètre how a la valeur définie sur all, ce qui signifie que toutes les valeurs de la ligne doivent être nulles.

Si toutes les valeurs manquent dans l’axe spécifié, la méthode DataFrame.dropna() supprime cet axe même lorsque le how est défini sur all.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: None, 2: None, 3: None, 4: None},
    }
)

print(dataframe)
print("--------")
dataframe1 = dataframe.dropna(axis=1, how="all")
print(dataframe1)

Production:

   Attendance    Name Obtained Marks
0        60.0  Olivia           None
1         NaN    John           None
2        80.0   Laura           None
3         NaN     Ben           None
4        95.0   Kevin           None
--------
   Attendance    Name
0        60.0  Olivia
1         NaN    John
2        80.0   Laura
3         NaN     Ben
4        95.0   Kevin

Exemples de codes: DataFrame.dropna() avec un sous-ensemble ou un thresh spécifié

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)

dataframe1 = dataframe.dropna(thresh=3)
print(dataframe1)

Production:

   Attendance   Name  Obtained Marks
2        80.0  Laura            82.0

La valeur de thresh est 3, ce qui signifie que pour éviter toute chute, au moins 3 valeurs non vides sont requises.

Nous pourrions également spécifier le subset.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)

dataframe1 = dataframe.dropna(subset=["Attendance", "Name"])
print(dataframe1)

Production:

   Attendance    Name  Obtained Marks
0        60.0  Olivia             NaN
2        80.0   Laura            82.0
4        95.0   Kevin             NaN

Il supprime les lignes avec des valeurs manquantes sur la base de la colonne Attendance et Name. Il ne supprime pas de lignes si seules les valeurs des autres colonnes, Obtained Marks ici, ont des valeurs manquantes.

Exemples de codes: DataFrame.dropna() avec inplace = True

DataFrame.dropna() modifie l’appelant DataFrame sur place si inplace est réglé sur True.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: None, 2: 80, 3: None, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: None, 1: 75, 2: 82, 3: 64, 4: None},
    }
)
dataframe1 = dataframe.dropna(inplace=True)
print(dataframe1)

Production:

None

Le paramètre a modifié l’appelant DataFrame sur place et a renvoyé None.

Article connexe - Pandas DataFrame