Pandas Drop Rows

Suraj Joshi 30 Januar 2023
  1. Zeilen über den Index in der Methode pandas.DataFrame.drop() fallen lassen
  2. Zeilen in Abhängigkeit vom Wert einer bestimmten Spalte im Pandas DataFrame löschen
Pandas Drop Rows

Dieses Tutorial erklärt, wie wir Zeilen in Pandas mit Hilfe der Methode pandas.DataFrame.drop() fallen lassen können.

import pandas as pd

kgp_df = pd.DataFrame(
    {
        "Name": ["Himansh", "Prateek", "Abhishek", "Vidit", "Anupam"],
        "Age": [30, 33, 35, 30, 30],
        "Weight(KG)": [75, 75, 80, 70, 73],
    }
)
print("The KGP DataFrame is:")
print(kgp_df)

Ausgabe:

The KGP DataFrame is:
       Name  Age  Weight(KG)
0   Himansh   30          75
1   Prateek   33          75
2  Abhishek   35          80
3     Vidit   30          70
4    Anupam   30          73

Anhand des DataFrame kgp_df wird erklärt, wie wir Zeilen aus dem Pandas DataFrame fallen lassen können.

Zeilen über den Index in der Methode pandas.DataFrame.drop() fallen lassen

import pandas as pd

kgp_df = pd.DataFrame(
    {
        "Name": ["Himansh", "Prateek", "Abhishek", "Vidit", "Anupam"],
        "Age": [30, 33, 35, 30, 30],
        "Weight(KG)": [75, 75, 80, 70, 73],
    }
)

rows_dropped_df = kgp_df.drop(kgp_df.index[[0, 2]])

print("The KGP DataFrame is:")
print(kgp_df, "\n")

print("The KGP DataFrame after dropping 1st and 3rd DataFrame is:")
print(rows_dropped_df)

Ausgabe:

The KGP DataFrame is:
       Name  Age  Weight(KG)
0   Himansh   30          75
1   Prateek   33          75
2  Abhishek   35          80
3     Vidit   30          70
4    Anupam   30          73

The KGP DataFrame after dropping 1st and 3rd DataFrame is:
      Name  Age  Weight(KG)
1  Prateek   33          75
3    Vidit   30          70
4   Anupam   30          73

Es werden die Zeilen mit den Indizes 0 und 2 aus dem kgp_df DataFrame fallen gelassen. Die Zeilen mit den Indizes 0 und 2 entsprechen der ersten und dritten Zeile im DataFrame, da der Index bei 0 beginnt.

Wir können auch den Index des DataFrame verwenden, um die Zeilen zu löschen, anstatt den Standardindex zu verwenden.

import pandas as pd

kgp_idx = ["A", "B", "C", "D", "E"]
kgp_df = pd.DataFrame(
    {
        "Name": ["Himansh", "Prateek", "Abhishek", "Vidit", "Anupam"],
        "Age": [30, 33, 35, 30, 30],
        "Weight(KG)": [75, 75, 80, 70, 73],
    },
    index=kgp_idx,
)

rows_dropped_df = kgp_df.drop(["A", "C"])

print("The KGP DataFrame is:")
print(kgp_df, "\n")

print("The KGP DataFrame after dropping 1st and 3rd DataFrame is:")
print(rows_dropped_df)

Ausgabe:

The KGP DataFrame is:
       Name  Age  Weight(KG)
A   Himansh   30          75
B   Prateek   33          75
C  Abhishek   35          80
D     Vidit   30          70
E    Anupam   30          73

The KGP DataFrame after dropping 1st and 3rd DataFrame is:
      Name  Age  Weight(KG)
B  Prateek   33          75
D    Vidit   30          70
E   Anupam   30          73

Es werden die Zeilen mit dem Index A und C, bzw. die erste und dritte Zeile aus dem DataFrame gelöscht.

Wir übergeben die Liste der Indizes der zu löschenden Zeilen an die Methode drop(), um die jeweiligen Zeilen zu löschen.

Zeilen in Abhängigkeit vom Wert einer bestimmten Spalte im Pandas DataFrame löschen

import pandas as pd

kgp_idx = ["A", "B", "C", "D", "E"]
kgp_df = pd.DataFrame(
    {
        "Name": ["Himansh", "Prateek", "Abhishek", "Vidit", "Anupam"],
        "Age": [31, 33, 35, 36, 34],
        "Weight(KG)": [75, 75, 80, 70, 73],
    },
    index=kgp_idx,
)

young_df_idx = kgp_df[kgp_df["Age"] <= 33].index
young_folks = kgp_df.drop(young_df_idx)

print("The KGP DataFrame is:")
print(kgp_df, "\n")

print("The DataFrame of folks with age less than or equal to 33 are:")
print(young_folks)

Ausgabe:

The KGP DataFrame is:
       Name  Age  Weight(KG)
A   Himansh   31          75
B   Prateek   33          75
C  Abhishek   35          80
D     Vidit   36          70
E    Anupam   34          73

The DataFrame of folks with age less than or equal to 33 are:
       Name  Age  Weight(KG)
C  Abhishek   35          80
D     Vidit   36          70
E    Anupam   34          73

Es werden alle Zeilen gelöscht, deren Alter kleiner oder gleich 33 ist.

Wir finden zuerst den Index aller Zeilen mit einem Alter kleiner oder gleich 33 und löschen dann die Zeilen mit der Methode drop().

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Pandas DataFrame Row