Panda's loc vs iloc: wat is het verschil?


Als het gaat om het selecteren van rijen en kolommen van een panda’s DataFrame, zijn loc en iloc twee veelgebruikte functies.

Hier is het subtiele verschil tussen de twee functies:

  • loc selecteert rijen en kolommen met specifieke labels
  • iloc selecteert rijen en kolommen op specifieke gehele posities

De volgende voorbeelden laten zien hoe u elke functie in de praktijk kunt gebruiken.

Voorbeeld 1: Loc gebruiken in Panda’s

Stel dat we de volgende panda’s DataFrame hebben:

 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

We kunnen loc gebruiken om specifieke rijen uit het DataFrame te selecteren op basis van hun indexlabels:

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

	team points assists
E B 12 6
F B 9 5

We kunnen loc gebruiken om specifieke rijen en kolommen van het DataFrame te selecteren op basis van hun labels:

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

	team assists
E B 12
F B 9

We kunnen loc gebruiken met het : argument om reeksen rijen en kolommen te selecteren op basis van hun labels:

 #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

Voorbeeld 2: iloc gebruiken in Panda’s

Stel dat we de volgende panda’s DataFrame hebben:

 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

We kunnen iloc gebruiken om specifieke rijen van het DataFrame te selecteren op basis van hun gehele positie:

 #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

We kunnen iloc gebruiken om specifieke rijen en kolommen van het DataFrame te selecteren op basis van hun indexposities:

 #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

We kunnen loc gebruiken met het : argument om reeksen rijen en kolommen te selecteren op basis van hun labels:

 #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

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Hoe u rijen selecteert op basis van meerdere voorwaarden met behulp van Pandas Loc
Hoe u rijen selecteert op basis van kolomwaarden in Pandas
Hoe rijen op index te selecteren in Pandas

Einen Kommentar hinzufügen

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