Spalten nach Index in Pandas DataFrame löschen

Manav Narula 9 Januar 2021
Spalten nach Index in Pandas DataFrame löschen

DataFrames können sehr groß sein und Hunderte von Zeilen und Spalten enthalten. Es ist notwendig, die grundlegenden Wartungsoperationen eines DataFrames zu beherrschen, wie z. B. das Fallenlassen mehrerer Spalten. Wir können die Methode dataframe.drop() verwenden, um Spalten oder Zeilen aus dem DataFrame zu entfernen, abhängig von der angegebenen axis, 0 für Zeilen und 1 für Spalten. Sie identifiziert die Elemente, die entfernt werden sollen, anhand einiger Beschriftungen. Zum Beispiel werden wir die Spalte 'a' aus dem folgenden DataFrame entfernen.

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

print(df)

df.drop(["a"], axis=1, inplace=True)

print(df)

Ausgabe:

    a  b   c   d
0  10  6   7   8
1   1  9  12  14
2   5  8  10   6
   b   c   d
0  6   7   8
1  9  12  14
2  8  10   6

Beachten Sie die Verwendung des Parameters inplace in der Drop-Funktion. Wenn der Parameter inplace auf True gesetzt ist, werden die Spalten aus dem ursprünglichen DataFrame entfernt; andernfalls wird eine Kopie des Originals zurückgegeben.

In unserem Beispiel haben wir die Spalte 'a' entfernt, aber wir müssen den Namen des Labels an die Funktion dataframe.drop() übergeben. Wenn wir mit großen Datensätzen arbeiten, sollten wir solche Aufgaben für viele Spalten auf einmal und unter Verwendung von Spaltenindizes anstelle ihrer Namen erledigen.

Wir können dies erreichen, indem wir die Methode dataframe.columns() verwenden, die alle Spalten eines DataFrame zurückgibt und die benötigten Spaltenbezeichnungen mit ihren Indizes an die Funktion dataframe.drop() übergeben. Der folgende Codeschnipsel erklärt, wie wir dies tun können.

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

df.drop(df.columns[[1, 2]], axis=1, inplace=True)

print(df)

Ausgabe:

    a   d
0  10   8
1   1  14
2   5   6

Es werden Spalten gelöscht, deren Index 1 oder 2 ist.

Wir können auch die Verwendung des Parameters axis vermeiden, indem wir lediglich den Parameter columns in der Funktion dataframe.drop() erwähnen, der automatisch angibt, dass Spalten gelöscht werden sollen. Beispiel:

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

df.drop(columns=df.columns[[1, 2]], inplace=True)

print(df)

Ausgabe:

    a   d
0  10   8
1   1  14
2   5   6
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Verwandter Artikel - Pandas DataFrame