Pandy: jak utworzyć wykres słupkowy z tabeli przestawnej
Do utworzenia wykresu słupkowego umożliwiającego wizualizację liczebności w tabeli przestawnej Pandy można użyć następujących metod:
Metoda 1: Utwórz skupiony wykres słupkowy
import matplotlib. pyplot as plt my_crosstab. plot (kind=' bar ')
Metoda 2: Utwórz skumulowany wykres słupkowy
import matplotlib. pyplot as plt my_crosstab. plot (kind=' bar ', stacked= True )
Poniższe przykłady pokazują, jak w praktyce zastosować każdą z tych metod z następującą tabelą przestawną pand:
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
Przykład 1: Utwórz zgrupowany wykres słupkowy na podstawie tabeli przestawnej
Aby utworzyć zgrupowany wykres słupkowy na podstawie tabeli przestawnej, możemy zastosować następującą składnię:
import matplotlib. pyplot as plt #create grouped bar plot my_crosstab. plot (kind=' bar ', rot= 0 )
Uwaga : Argument rot=0 obraca etykiety osi X o 90 stopni, aby były łatwiejsze do odczytania.
Oś x wyświetla nazwy zespołów, podczas gdy pogrupowane słupki przedstawiają częstotliwość występowania każdej pozycji.
Na przykład możemy zobaczyć:
- W drużynie A znajduje się 1 zawodnik na pozycji F.
- W drużynie A na pozycji G znajduje się 2 zawodników.
I tak dalej.
Przykład 2: Utwórz skumulowany wykres słupkowy z tabeli przestawnej
Aby utworzyć skumulowany wykres słupkowy z tabeli przestawnej, możemy zastosować następującą składnię:
import matplotlib. pyplot as plt #create stacked bar plot my_crosstab. plot (kind=' bar ', stacked= True , rot= 0 )
Uwaga : Argument stacked=True umożliwił nam utworzenie skumulowanego wykresu słupkowego zamiast zgrupowanego wykresu słupkowego.
Oś x wyświetla nazwy drużyn, podczas gdy ułożone słupki przedstawiają liczbę częstotliwości dla każdej pozycji.
Na przykład możemy zobaczyć:
- W drużynie A znajduje się 1 zawodnik na pozycji F.
- W drużynie A na pozycji G znajduje się 2 zawodników.
- W drużynie A jest łącznie 3 zawodników.
I tak dalej.
Ten typ wykresu jest szczególnie przydatny, gdy chcemy zwizualizować całkowitą liczbę elementów dla każdej unikalnej wartości na osi x.
Uwaga : pełną dokumentację funkcji crosstab() pandy można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania związane z pandą:
Pandy: Jak utworzyć tabelę przestawną z wartościami procentowymi
Pandy: Jak używać aggfunc w funkcji crosstab().
Pandy: Jak opisywać słupki na wykresie słupkowym