Oft möchten Sie die Zeilen eines Pandas DataFrame anhand ihres Indexwerts auswählen.

Wenn Sie Zeilen basierend auf der Ganzzahlindizierung auswählen möchten, können Sie die .iloc-Funktion verwenden.

Wenn Sie Zeilen basierend auf der Etikettenindizierung auswählen möchten, können Sie die Funktion .loc verwenden.

Dieses Tutorial enthält ein Beispiel für die praktische Verwendung dieser Funktionen.

Beispiel 1: Wählen Sie Zeilen basierend auf der Ganzzahlindizierung aus

Der folgende Code zeigt, wie Sie einen Pandas-DataFrame erstellen und mit .iloc die Zeile mit einem ganzzahligen Indexwert von 3 auswählen:

import pandas as pd
import numpy as np

#Machen Sie dieses Beispiel reproduzierbar
np.random.seed(0)

# Dataframe erstellen
df = pd.DataFrame(np.random.rand(6,2), index=range(0,18,3), columns=['A', 'B'])

# Dataframe anzeigen
df

           A           B
0   0.548814    0.715189
3   0.602763    0.544883
6   0.423655    0.645894
9   0.437587    0.891773
12  0.963663    0.383442
15  0.791725    0.528895

# Wählen Sie die 5. Zeile des DataFrame aus
df.iloc[[4]]

           A           B
12  0.963663    0.383442

Wir können eine ähnliche Syntax verwenden, um mehrere Zeilen auszuwählen:

#Wählen Sie die 3., 4. und 5. Zeile des DataFrame aus
df.iloc[[2, 3, 4]]

           A           B
6   0.423655    0.645894
9   0.437587    0.891773
12  0.963663    0.383442

Oder wir könnten alle Zeilen in einem Bereich auswählen:

#Wählen Sie die 3., 4. und 5. Zeile des DataFrame aus
df.iloc[2:5]

           A           B
6   0.423655    0.645894
9   0.437587    0.891773
12  0.963663    0.383442

Beispiel 2: Wählen Sie Zeilen basierend auf der Etikettenindizierung aus

Der folgende Code zeigt, wie ein Dataframe und pandas Verwendung .loc erstellen, um die Reihe mit einem Index Etikett von 3 auszuwählen:

import pandas as pd
import numpy as np

# Machen Sie dieses Beispiel reproduzierbar
np.random.seed(0)

# Dataframe erstellen
df = pd.DataFrame(np.random.rand(6,2), index=range(0,18,3), columns=['A', 'B'])

# Dataframe anzeigen
df

           A           B
0   0.548814    0.715189
3   0.602763    0.544883
6   0.423655    0.645894
9   0.437587    0.891773
12  0.963663    0.383442
15  0.791725    0.528895

#Wählen Sie die Zeile mit der Indexbezeichnung '3' aus.
df.loc[[3]]

         A         B
3   0.602763    0.544883

Wir können eine ähnliche Syntax verwenden, um mehrere Zeilen mit unterschiedlichen Indexbezeichnungen auszuwählen:

# Wählen Sie die Zeilen mit den Indexbezeichnungen '3', '6' und '9' aus.
df.loc[[3, 6, 9]]

           A           B
3   0.602763    0.544883
6   0.423655    0.645894
9   0.437587    0.891773

Der Unterschied zwischen .iloc und .loc

Die obigen Beispiele veranschaulichen den subtilen Unterschied zwischen .iloc und .loc:

  • .iloc wählt Zeilen basierend auf einem Integer-Index aus. Wenn Sie also die 5. Zeile in einem DataFrame auswählen möchten, verwenden Sie df.iloc [[4]], da sich die erste Zeile auf Index 0, die zweite Zeile auf Index 1 usw. befindet.
  • .loc wählt Zeilen basierend auf einem beschrifteten Index aus. Wenn Sie also die Zeile mit einer Indexbezeichnung von 5 auswählen möchten, verwenden Sie direkt df.loc [[5]].

Zusätzliche Ressourcen

So erhalten Sie Zeilennummern in einem Pandas DataFrame

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: