Pandas loc vs. iloc: was ist der unterschied?


Wenn es um die Auswahl von Zeilen und Spalten eines Pandas-DataFrames geht, sind loc und iloc zwei häufig verwendete Funktionen.

Hier ist der subtile Unterschied zwischen den beiden Funktionen:

  • loc wählt Zeilen und Spalten mit bestimmten Beschriftungen aus
  • iloc wählt Zeilen und Spalten an bestimmten ganzzahligen Positionen aus

Die folgenden Beispiele zeigen, wie die einzelnen Funktionen in der Praxis verwendet werden.

Beispiel 1: Verwendung von loc in Pandas

Angenommen, wir haben den folgenden Pandas-DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' assists ': [11, 8, 10, 6, 6, 5, 9, 12]},
                   index=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'])

#view DataFrame
df

	team points assists
A A 5 11
B A 7 8
C A 7 10
D A 9 6
E B 12 6
F B 9 5
G B 9 9
H B 4 12

Wir können loc verwenden, um bestimmte Zeilen aus dem DataFrame basierend auf ihren Indexbezeichnungen auszuwählen:

 #select rows with index labels 'E' and 'F'
df. loc [[' E ',' F ']]

	team points assists
E B 12 6
F B 9 5

Wir können loc verwenden, um bestimmte Zeilen und Spalten des DataFrame basierend auf ihren Beschriftungen auszuwählen:

 #select 'E' and 'F' rows and 'team' and 'assists' columns
df. loc [[' E ', ' F '], [' team ', ' assists ']]

	team assists
E B 12
F B 9

Wir können loc mit dem Argument : verwenden, um Bereiche von Zeilen und Spalten basierend auf ihren Beschriftungen auszuwählen:

 #select 'E' and 'F' rows and 'team' and 'assists' columns
df. loc [' E ':,:' assists ']

        team points assists
E B 12 6
F B 9 5
G B 9 9
H B 4 12

Beispiel 2: Verwendung von iloc in Pandas

Angenommen, wir haben den folgenden Pandas-DataFrame:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' assists ': [11, 8, 10, 6, 6, 5, 9, 12]},
                   index=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'])

#view DataFrame
df

	team points assists
A A 5 11
B A 7 8
C A 7 10
D A 9 6
E B 12 6
F B 9 5
G B 9 9
H B 4 12

Wir können iloc verwenden, um bestimmte Zeilen des DataFrame basierend auf ihrer ganzzahligen Position auszuwählen:

 #select rows in index positions 4 through 6 (not including 6)
df. iloc [4:6]

	team points assists
E B 12 6
F B 9 5

Wir können iloc verwenden, um bestimmte Zeilen und Spalten des DataFrame basierend auf ihren Indexpositionen auszuwählen:

 #select rows in range 4 through 6 and columns in range 0 through 2
df. iloc [4:6, 0:2]

	team assists
E B 12
F B 9

Wir können loc mit dem Argument : verwenden, um Bereiche von Zeilen und Spalten basierend auf ihren Beschriftungen auszuwählen:

 #select rows from 4 through end of rows and columns up to third column
df. iloc [4: , :3]

        team points assists
E B 12 6
F B 9 5
G B 9 9
H B 4 12

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:

So wählen Sie mit Pandas Loc Zeilen basierend auf mehreren Bedingungen aus
So wählen Sie Zeilen basierend auf Spaltenwerten in Pandas aus
So wählen Sie Zeilen nach Index in Pandas aus

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert