Heim >Backend-Entwicklung >Python-Tutorial >Was ist der Unterschied zwischen Pandas „loc' und „iloc' für die Datenauswahl?
Bei der Datenbearbeitung mit Pandas sind iloc und loc zwei häufig verwendete Slicing-Methoden, die oft zu Verwirrung führen. Das Verständnis ihrer grundlegenden Unterschiede ist für eine effiziente Datenverwaltung von entscheidender Bedeutung.
Label vs. Standort
Der Hauptunterschied zwischen loc und iloc liegt in der Art und Weise, wie sie Daten auswählen:
Beispiele:
Betrachten Sie einen DataFrame df mit einem nicht monotonen Index, der Buchstaben enthält:
import pandas as pd df = pd.DataFrame({'col1': ['a', 'b', 'c', 'd', 'e', 'f']}, index=[49, 48, 47, 0, 1, 2])
loc (Label-Based Slicing):
iloc (Location-Based Slicing):
Hauptunterschiede:
Die folgende Tabelle zeigt die Unterschiede zwischen loc und iloc in verschiedenen Szenarien:
Object | Description | loc | iloc |
---|---|---|---|
0 | Single item | Value at index label 0 ('d') | Value at index location 0 ('a') |
0:1 | Slice | Two rows (labels 0 and 1) | One row (first row at location 0) |
1:47 | Slice with out-of-bounds end | Zero rows (empty Series) | Five rows (location 1 onwards) |
1:47:-1 | Slice with negative step | Three rows (labels 1 back to 47) | Zero rows (empty Series) |
[2, 0] | Integer list | Two rows with given labels | Two rows with given locations |
s > 'e' | Boolean series (indicating true values) | One row (containing 'f') | NotImplementedError |
(s>'e').values | Boolean array | One row (containing 'f') | Same as loc |
999 | Integer object not in index | KeyError | IndexError (out of bounds) |
-1 | Integer object not in index | KeyError | Returns last value in s |
lambda x: x.index[3] | Callable applied to series (here returning 3rd item in index) | s.loc[s.index[3]] | s.iloc[s.index[3]] |
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Pandas „loc' und „iloc' für die Datenauswahl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!