Hoe u kolommen op index selecteert in een pandas dataframe
Vaak wilt u mogelijk kolommen in een Panda’s DataFrame selecteren op basis van hun indexwaarde.
Als u kolommen wilt selecteren op basis van gehele indexering, kunt u de functie .iloc gebruiken.
Als u kolommen wilt selecteren op basis van labelindexering, kunt u de .loc- functie gebruiken.
Deze tutorial geeft een voorbeeld van hoe u elk van deze functies in de praktijk kunt gebruiken.
Voorbeeld 1: Kolommen selecteren op basis van gehele indexering
De volgende code laat zien hoe u een Panda DataFrame maakt en .iloc gebruikt om de kolom te selecteren met een gehele indexwaarde van 3 :
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'], ' points ': [11, 7, 8, 10, 13, 13], ' assists ': [5, 7, 7, 9, 12, 9], ' rebounds ': [11, 8, 10, 6, 6, 5]}) #view DataFrame df team points assists rebounds 0 A 11 5 11 1 To 7 7 8 2 to 8 7 10 3 B 10 9 6 4 B 13 12 6 5 B 13 9 5 #select column with index position 3 df. iloc [:, 3] 0 11 1 8 2 10 3 6 4 6 5 5 Name: rebounds, dtype: int64
We kunnen een vergelijkbare syntaxis gebruiken om meerdere kolommen te selecteren:
#select columns with index positions 1 and 3
df. iloc [:, [1, 3]]
rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5
Of we kunnen alle kolommen in een bereik selecteren:
#select columns with index positions in range 0 through 3
df. iloc [:, 0:3]
team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9
Voorbeeld 2: Kolommen selecteren op basis van labelindexering
De volgende code laat zien hoe u een Panda DataFrame maakt en .loc gebruikt om de kolom met het indexlabel „bounces“ te selecteren:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B'], ' points ': [11, 7, 8, 10, 13, 13], ' assists ': [5, 7, 7, 9, 12, 9], ' rebounds ': [11, 8, 10, 6, 6, 5]}) #view DataFrame df team points assists rebounds 0 A 11 5 11 1 To 7 7 8 2 to 8 7 10 3 B 10 9 6 4 B 13 12 6 5 B 13 9 5 #select column with index label 'rebounds' df. loc [:, ' rebounds '] 0 11 1 8 2 10 3 6 4 6 5 5 Name: rebounds, dtype: int64
We kunnen een vergelijkbare syntaxis gebruiken om meerdere kolommen met verschillende indexlabels te selecteren:
#select the columns with index labels 'points' and 'rebounds'
df. loc [:,[' points ',' rebounds ']]
rebound points
0 11 11
1 7 8
2 8 10
3 10 6
4 13 6
5 13 5
Of we kunnen alle kolommen in een bereik selecteren:
#select columns with index labels between 'team' and 'assists'
df. loc [:, ' team ':' assists ']
team points assists
0 to 11 5
1 To 7 7
2 to 8 7
3 B 10 9
4 B 13 12
5 B 13 9
Gerelateerd: Panda’s loc versus iloc: wat is het verschil?
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Groeperen op index in een Pandas DataFrame
Hoe rijen op index te selecteren in een Pandas DataFrame
Hoe rijnummers in een Pandas DataFrame te krijgen
Hoe de indexkolom in een Pandas DataFrame te verwijderen