Panda's: een staafdiagram maken op basis van een kruistabel
U kunt de volgende methoden gebruiken om een staafdiagram te maken om aantallen in een Pandas-kruistabel te visualiseren:
Methode 1: Maak een geclusterd staafdiagram
import matplotlib. pyplot as plt my_crosstab. plot (kind=' bar ')
Methode 2: Maak een gestapeld staafdiagram
import matplotlib. pyplot as plt my_crosstab. plot (kind=' bar ', stacked= True )
De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken met de volgende panda-kruistabel:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '], ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]}) #create crosstab to display count of players by team and position my_crosstab = pd. crosstab (df. team , df. position ) #view crosstab print (my_crosstab) FG position team AT 12 B 3 1 C 2 2
Voorbeeld 1: Maak een gegroepeerd staafdiagram op basis van een kruistabel
We kunnen de volgende syntaxis gebruiken om een gegroepeerd staafdiagram te maken op basis van de kruistabel:
import matplotlib. pyplot as plt #create grouped bar plot my_crosstab. plot (kind=' bar ', rot= 0 )
Opmerking : het argument rot=0 draait de labels op de x-as 90 graden, zodat ze gemakkelijker leesbaar zijn.
Op de x-as worden de teamnamen weergegeven, terwijl de gegroepeerde balken de frequentietellingen van elke positie weergeven.
We kunnen bijvoorbeeld zien:
- Er is 1 speler in team A met positie F.
- Er zijn 2 spelers in team A met positie G.
Enzovoort.
Voorbeeld 2: Maak een gestapeld staafdiagram op basis van een kruistabel
We kunnen de volgende syntaxis gebruiken om een gestapeld staafdiagram te maken op basis van de kruistabel:
import matplotlib. pyplot as plt #create stacked bar plot my_crosstab. plot (kind=' bar ', stacked= True , rot= 0 )
Opmerking : Met het argument stacked=True konden we een gestapeld staafdiagram maken in plaats van een gegroepeerd staafdiagram.
Op de x-as worden de teamnamen weergegeven, terwijl de gestapelde balken de frequentietellingen van elke positie weergeven.
We kunnen bijvoorbeeld zien:
- Er is 1 speler in team A met positie F.
- Er zijn 2 spelers in team A met positie G.
- Er zijn in totaal 3 spelers in team A.
Enzovoort.
Dit type plot is vooral handig als we het totale aantal items voor elke unieke waarde op de x-as willen visualiseren.
Opmerking : u kunt de volledige documentatie van de pandas crosstab() -functie hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende panda-taken kunt uitvoeren:
Panda’s: een kruistabel met percentages maken
Panda’s: aggfunc gebruiken in de kruistabel()-functie
Panda’s: staven annoteren in een staafdiagram