Wie unterscheiden sich iloc und loc?
iloc
und loc
werden in Python beide verwendet, um Zeilen und Spalten aus einem Pandas DataFrame auszuwählen, aber sie arbeiten unterschiedlich.
iloc
verwendet eine integerbasierte Indizierung, sodass Sie ganze Zahlen verwenden, um Zeilen und Spalten auszuwählen. Beispiel:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=[0, 1, 2])
print(df.iloc[0:2, 0:1])
Dies wählt die erste und zweite Zeile sowie die erste Spalte des DataFrames aus, wodurch folgender Ausgabe erzeugt wird:
A 0 1 1 2
loc
verwendet eine labelbasierte Indizierung, sodass Sie die Labels der Zeilen und Spalten verwenden, um Daten auszuwählen. Beispiel:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
print(df.loc[['a', 'b'], ['A']])
Dies wählt die Zeilen mit den Labels 'a' und 'b' sowie die Spalte mit dem Label 'A' des DataFrames aus, wodurch folgender Ausgabe erzeugt wird:
A a 1 b 2
Zusammenfassend verwendet iloc
eine integerbasierte Indizierung und loc
verwendet eine labelbasierte Indizierung, um Zeilen und Spalten aus einem DataFrame auszuwählen.