Panda's: hoe u een draaitabel met een aantal waarden maakt
U kunt een van de volgende methoden gebruiken om een draaitabel in panda’s te maken waarin het aantal waarden in bepaalde kolommen wordt weergegeven:
Methode 1: Draaitabel met getallen
p.d. pivot_table (df, values=' col1 ', index=' col2 ', columns=' col3 ', aggfunc=' count ')
Methode 2: Draaitabel met unieke getallen
p.d. pivot_table (df, values=' col1 ', index=' col2 ', columns=' col3 ', aggfunc=pd. Series . nunique )
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met de volgende panda’s DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'C', 'G', 'F', 'F', 'F'], ' points ': [4, 4, 6, 8, 9, 5, 5, 12]}) #view DataFrame df team position points 0 A G 4 1 A G 4 2 A F 6 3 A C 8 4 B G 9 5 B F 5 6 B F 5 7 B F 12
Methode 1: Maak een Pandas-draaitabel met tellingen
De volgende code laat zien hoe u een draaitabel in panda’s kunt maken die het totale aantal „punt“-waarden weergeeft voor elk „team“ en „positie“ in het DataFrame:
#create pivot table
df_pivot = pd. pivot_table (df, values=' points ', index=' team ', columns=' position ',
aggfunc=' count ')
#view pivot table
df_pivot
position C F G
team
A 1.0 1.0 2.0
B NaN 3.0 1.0
Uit het resultaat kunnen we zien:
- Er is 1 waarde in de “punten”-kolom voor team A op positie C.
- Er is 1 waarde in de “punten”-kolom voor team A op positie F.
- Er zijn 2 waarden in de kolom “punten” voor team A op positie G.
Enzovoort.
Methode 2: Maak een Pandas-draaitabel met unieke tellingen
De volgende code laat zien hoe u een draaitabel in panda’s maakt die het unieke totale aantal „punt“-waarden weergeeft voor elk „team“ en „positie“ in het DataFrame:
#create pivot table
df_pivot = pd. pivot_table (df, values=' points ', index=' team ', columns=' position ',
aggfunc=pd. Series . nunique )
#view pivot table
df_pivot
position C F G
team
A 1.0 1.0 1.0
B NaN 2.0 1.0
Uit het resultaat kunnen we zien:
- Er is 1 unieke waarde in de „punten“-kolom voor team A op positie C.
- Er is 1 unieke waarde in de “punten”-kolom voor team A op positie F.
- Er is 1 unieke waarde in de “punten”-kolom voor team A op positie G.
Enzovoort.
Opmerking : u kunt hier de volledige documentatie van de pandas pivot_table() -functie vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Panda’s: hoe u het DataFrame kunt hervormen van lang naar breed
Panda’s: hoe u het DataFrame kunt hervormen van breed naar lang
Panda’s: hoe te groeperen en aggregeren over meerdere kolommen