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 ) 

panda's gegroepeerd staafdiagram uit kruistabel

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

Einen Kommentar hinzufügen

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