Heim > Backend-Entwicklung > Python-Tutorial > Was sind die Hauptunterschiede zwischen den Pandas-Methoden „loc' und „iloc' für das DataFrame-Slicing?

Was sind die Hauptunterschiede zwischen den Pandas-Methoden „loc' und „iloc' für das DataFrame-Slicing?

Mary-Kate Olsen
Freigeben: 2024-12-19 13:00:11
Original
220 Leute haben es durchsucht

What are the key differences between Pandas' `loc` and `iloc` methods for DataFrame slicing?

Wie unterscheiden sich iloc und loc?

iloc und loc sind zwei Methoden zum Schneiden eines DataFrames in Pandas. Beide Methoden können zum Auswählen von Zeilen und Spalten verwendet werden, sie unterscheiden sich jedoch darin, wie sie die Eingabe interpretieren.

loc ruft Zeilen (und/oder Spalten) mit bestimmten Beschriftungen ab.

iloc ruft Zeilen (und/oder Spalten) an ganzzahligen Positionen ab.

Betrachten Sie zur Veranschaulichung eine Reihe s von Zeichen mit einem nicht-monotonen Ganzzahlindex:

>>> s = pd.Series(list("abcdef"), index=[49, 48, 47, 0, 1, 2])
49    a
48    b
47    c
0     d
1     e
2     f
Nach dem Login kopieren
s.loc[0]    # value at index label 0
'd'

s.iloc[0]   # value at index location 0
'a'

s.loc[0:1]  # rows at index labels between 0 and 1 (inclusive)
0    d
1    e

s.iloc[0:1] # rows at index location between 0 and 1 (exclusive)
49    a
Nach dem Login kopieren

Hier sind einige der Unterschiede/Ähnlichkeiten zwischen s.loc und s.iloc bei der Übergabe verschiedener Objekte:

Object Description s.loc[Object] s.iloc[Object]
0 Single item Value at index label 0 (_the string 'd'_) Value at index location 0 (_the string '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' Bool series (indicating which values have the property) One row (containing 'f') NotImplementedError
(s>e).values Bool array One row (containing 'f') Same as loc
999 Int object not in index KeyError IndexError (out of bounds)
-1 Int 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 sind die Hauptunterschiede zwischen den Pandas-Methoden „loc' und „iloc' für das DataFrame-Slicing?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage