Auswählen mehrerer Spalten in Pandas Dataframe

  1. Verwendung der __getitem__-Syntax ([]) zur Auswahl mehrerer Spalten
  2. Verwendung der Methoden iloc() und loc() zur Auswahl mehrerer Spalten in Pandas

Beim Extrahieren von Daten mehrerer Spalten aus einem Pandas DataFrame kann es zu Problemen kommen, vor allem weil der Dataframe wie ein 2-dimensionales Array behandelt wird. Um mehrere Spalten aus einem DataFrame auszuwählen, können wir entweder die grundlegende Indizierungsmethode verwenden, indem wir eine Liste von Spaltennamen an die getitem-Syntax übergeben ([]), oder die von der Pandas-Bibliothek bereitgestellten Methoden iloc() und loc(). In diesem Tutorial werden wir mehrere Spalten aus dem folgenden DataFrame auswählen.

Beispiel DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df)

Ausgabe:

          a         b         c         d
0  0.255086  0.282203  0.342223  0.263599
1  0.744271  0.591687  0.861554  0.871859
2  0.420066  0.713664  0.770193  0.207427
3  0.014447  0.352515  0.535801  0.119759

Verwendung der __getitem__-Syntax ([]) zur Auswahl mehrerer Spalten

Indem wir die Namen der zu extrahierenden Spalten in einer Liste speichern und diese dann an die [] übergeben, können wir mehrere Spalten aus dem DataFrame auswählen. Der folgende Code erklärt, wie wir die Spalten a und c aus dem zuvor gezeigten DataFrame auswählen können.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df[['a','c']])

Ausgabe:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Verwendung der Methoden iloc() und loc() zur Auswahl mehrerer Spalten in Pandas

Wir können auch die Methoden iloc() und loc() verwenden, um mehrere Spalten auszuwählen.

Wenn wir die Spaltenindizes verwenden wollen, um sie zu extrahieren, können wir iloc() verwenden, wie im folgenden Beispiel gezeigt:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])
print(df.iloc[:,[0,2]])

Ausgabe:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

In ähnlicher Weise können wir loc() verwenden, wenn wir Spalten anhand ihrer Namen auswählen wollen, wie unten gezeigt:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4,4), columns = ['a','b','c','d'])

print(df.loc[:,['a','c']])

Ausgabe:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

Verwandter Artikel - Pandas DataFrame

  • Ersetzen von Spaltenwerten in Pandas DataFrame
  • Zählen Sie eindeutige Werte pro Gruppe(n) in Pandas