Pandas DataFrame DataFrame.dropna() Funktion

Minahil Noor 30 Januar 2023
  1. Syntax von pandas.DataFrame.dropna()
  2. Beispielcodes: DataFrame.dropna() bis Zeile fallen lassen
  3. Beispielcodes: DataFrame.dropna() in Spalte fallen lassen
  4. Beispiel-Codes: DataFrame.dropna() Mit how=all
  5. Beispielcodes: DataFrame.dropna() mit einer spezifizierten Teilmenge oder thresh
  6. Beispiel-Codes: DataFrame.dropna() Mit inplace=True
Pandas DataFrame DataFrame.dropna() Funktion

Die Funktion pandas.DataFrame.dropna() entfernt Nullwerte (fehlende Werte) aus dem DataFrame, indem sie die Zeilen oder Spalten, die die Nullwerte enthalten, fallen lässt.

NaN (keine Zahl) und NaT (Not a Time) repräsentieren die Nullwerte. DataFrame.dropna() erkennt diese Werte und filtert den DataFrame entsprechend.

Syntax von pandas.DataFrame.dropna()

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

Parameter

axis Sie bestimmt die Achse, die entweder eine Zeile oder eine Spalte sein soll.
Wenn es 0 oder 'index' ist, dann lässt es die Zeilen mit fehlenden Werten fallen.
Wenn es 1 oder 'columns' ist, dann löscht es die Spalten, die die fehlenden Werte enthalten. Standardmäßig ist sein Wert 0.
how Dieser Parameter bestimmt, wie die Funktion Zeilen oder Spalten fallen lässt. Er akzeptiert nur zwei Zeichenketten, entweder any oder all. Standardmäßig ist er auf any gesetzt.
any löscht die Zeile oder Spalte, wenn darin ein Nullwert enthalten ist.
all löscht die Zeile oder Spalte, wenn in ihr alle Werte fehlen.
thresh Es ist eine Ganzzahl, die die geringste Anzahl von nicht fehlenden Werten angibt, die verhindern, dass Zeilen oder Spalten abfallen.
subset Es ist ein Array, das die Namen von Zeilen oder Spalten hat, um den Abwurfvorgang zu spezifizieren.
inplace Es ist ein Boolean-Wert, der den Aufrufer DataFrame ändert, wenn er auf True gesetzt ist. In der Voreinstellung ist sein Wert False.

Zurück

Es gibt einen gefilterten DataFrame zurück, der entsprechend der übergebenen Parameter Zeilen oder Spalten enthält.

Beispielcodes: DataFrame.dropna() bis Zeile fallen lassen

Standardmäßig ist die Achse 0, d.h. Zeilen, d.h. alle Ausgaben haben entfallene Zeilen.

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)

Das Beispiel DataFrame sieht wie folgt aus.

   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

Alle Parameter dieser Funktion sind optional. Wenn wir keinen Parameter übergeben, dann löscht die Funktion alle Zeilen, die einen einzigen Nullwert enthalten.

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)

Ausgabe:

   Attendance   Name  Obtained Marks
2        80.0  Laura            82.0

Sie hat alle Zeilen entfernt, die einen einzigen fehlenden Wert enthielten.

Beispielcodes: DataFrame.dropna() in Spalte fallen lassen

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)

Ausgabe:

     Name
0  Olivia
1    John
2   Laura
3     Ben
4   Kevin

Es wurden alle Spalten gelöscht, die einen einzigen fehlenden Wert enthielten, weil wir axis=1 in der Methode DataFrame.dropna() gesetzt haben.

Beispiel-Codes: DataFrame.dropna() Mit 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)

Ausgabe:

   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

Die Zeilen mit den fehlenden Werte enthalten, werden nicht gelöscht, weil der Parameter how den Wert all hat, was bedeutet, dass alle Werte der Zeile null sein sollten.

Wenn alle Werte in der angegebenen Achse fehlen, dann lässt die Methode DataFrame.dropna() diese Achse fallen, selbst wenn der Parameter how auf all gesetzt ist.

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)

Ausgabe:

   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

Beispielcodes: DataFrame.dropna() mit einer spezifizierten Teilmenge oder thresh

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)

Ausgabe:

   Attendance   Name  Obtained Marks
2        80.0  Laura            82.0

Der Wert von thresh ist 3, was bedeutet, dass mindestens 3 nicht leere Werte erforderlich sind, um ein Fallenlassen zu verhindern.

Wir könnten auch die subset angeben.

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)

Ausgabe:

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

Sie löscht Zeilen mit fehlenden Werten auf der Basis der Spalten Attendance und Name. Es werden keine Zeilen gelöscht, wenn nur die Werte in anderen Spalten, hier Obtained Marks, fehlende Werte haben.

Beispiel-Codes: DataFrame.dropna() Mit inplace=True

DataFrame.dropna() ändert den Aufrufer DataFrame an Ort und Stelle, wenn inplace auf True gesetzt ist.

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)

Ausgabe:

None

Der Parameter hat den Aufrufer DataFrame an Ort und Stelle modifiziert und None zurückgegeben.

Verwandter Artikel - Pandas DataFrame