Python Pandas: Datenzugriff mit iloc[]
Mit der Python-Pandas-Eigenschaft iloc[] wählst du Daten in einem Pandas-DataFrame direkt über den Index aus. So lassen sich Zeilen und Spalten präzise anhand ihrer Position im DataFrame abrufen.
Die Syntax von Pandas iloc[]
Pandas iloc[] nutzt Integer-Werte, um festzulegen, welche Datensätze aus dem DataFrame extrahiert werden. Die Struktur für Pandas DataFrame.iloc() sieht so aus:
DataFrame.iloc[selection]pythonDu kannst Pandas iloc[] entweder einen einzelnen Integer, eine Python-Liste von Integern, ein Slice-Objekt oder ein Tupel mit Indizes für Zeilen und Spalten mitgeben.
So nutzt du die DataFrame.iloc[]-Eigenschaft
Wie Pandas iloc[] reagiert, hängt vom übergebenen Wert ab. Die folgenden Beispiele zeigen dir die Anwendung in der Praxis.
Einzelne Zeilen gezielt auswählen
Erstelle zuerst einen DataFrame mit Namen, Alter und Wohnort verschiedener Personen:
import pandas as pd
# Beispiel-DataFrame erstellen
data = {'Name': ['Anna', 'Bob', 'Charlie', 'David'],
'Alter': [28, 24, 22, 32],
'Stadt': ['Berlin', 'München', 'Hamburg', 'Köln']}
df = pd.DataFrame(data)
print(df)pythonDas Ergebnis ist dieser DataFrame:
Name Alter Stadt
0 Anna 28 Berlin
1 Bob 24 München
2 Charlie 22 Hamburg
3 David 32 KölnÜber iloc[] greifst du auf eine Zeile zu, indem du den passenden Index einträgst:
# Auswahl der nullten Zeile
result = df.iloc[0]
print(result)pythonHier wird die erste Zeile (Index 0) aufgerufen. Du erhältst die Infos zu Anna:
Name Anna
Alter 28
Stadt Berlin
Name: 0, dtype: objectZeilen und Spalten kombiniert abrufen
Um gleichzeitig Zeilen- und Spaltenindizes zu definieren, trennst du die Werte in iloc[] einfach durch ein Komma:
# Auswahl der nullten Zeile und ersten Spalte
result = df.iloc[0, 1]
print(result)pythonDieser Befehl in Pandas iloc[] steuert die nullte Zeile (0) und die erste Spalte (1) an. Das Ergebnis liefert Annas Alter: 28.
Mehrere Bereiche mit Slices auswählen
Nutze Python-Slices, um ganze Blöcke von Zeilen und Spalten zu markieren. Wichtig: Der Wert nach dem Doppelpunkt wird bei der Auswahl nicht mehr mitgezählt.
# Auswahl der ersten beiden Zeilen und der ersten beiden Spalten
result = df.iloc[0:2, 0:2]
print(result)pythonDas System gibt Folgendes aus:
Name Alter
0 Anna 28
1 Bob 24In diesem Fall werden die ersten zwei Zeilen (0:2) und Spalten (0:2) extrahiert. Der neue DataFrame zeigt nur diesen Teilbereich.
Listen für spezifische Zeilen und Spalten verwenden
Mit Python-Listen wählst du gezielt einzelne Spalten und Zeilen aus. Das ist ideal, wenn die gewünschten Daten nicht direkt nebeneinander liegen:
# Auswahl der nullten und zweiten Zeile sowie der ersten und zweiten Spalte
result = df.iloc[[0, 2], [1, 2]]
print(result)pythonHier werden die Indizes 0 und 2 der Zeilen ([0, 2]) sowie die Spalten 1 und 2 ([1, 2]) abgerufen. Das führt zu diesem Ergebnis:
Alter Stadt
0 28 Berlin
2 22 Hamburg