Pandas: як створити гістограму з перехресної таблиці
Щоб створити гістограму для візуалізації підрахунків у перехресній таблиці Pandas, можна використати такі методи:
Спосіб 1: Створення кластеризованої стовпчастої діаграми
import matplotlib. pyplot as plt my_crosstab. plot (kind=' bar ')
Спосіб 2: Створення стовпчастої діаграми з накопиченням
import matplotlib. pyplot as plt my_crosstab. plot (kind=' bar ', stacked= True )
У наведених нижче прикладах показано, як використовувати кожен із цих методів на практиці з такою перехресною таблицею pandas:
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
Приклад 1: Створення згрупованої стовпчастої діаграми з перехресної таблиці
Ми можемо використати такий синтаксис, щоб створити згруповану стовпчасту діаграму з перехресної таблиці:
import matplotlib. pyplot as plt #create grouped bar plot my_crosstab. plot (kind=' bar ', rot= 0 )
Примітка . Аргумент rot=0 повертає мітки осі x на 90 градусів, щоб їх було легше читати.
На осі абсцисс відображаються назви команд, а згруповані смуги показують кількість частот кожної позиції.
Наприклад, ми можемо побачити:
- У команді А є 1 гравець на позиції F.
- У команді А з позиції G є 2 гравці.
І так далі.
Приклад 2: Створення стовпчастої діаграми з накопиченням із перехресної таблиці
Ми можемо використати такий синтаксис, щоб створити гістограму з перехресною таблицею:
import matplotlib. pyplot as plt #create stacked bar plot my_crosstab. plot (kind=' bar ', stacked= True , rot= 0 )
Примітка . Аргумент stacked=True дозволив нам створити стовпчасту діаграму з накопиченням замість згрупованої.
На осі абсцисс відображаються назви команд, а на смугах у вигляді рядків відображаються частотні підрахунки кожної позиції.
Наприклад, ми можемо побачити:
- У команді А є 1 гравець на позиції F.
- У команді А з позиції G є 2 гравці.
- Всього в команді А 3 гравці.
І так далі.
Цей тип діаграми особливо корисний, коли ми хочемо візуалізувати загальну кількість елементів для кожного унікального значення на осі абсцис.
Примітка . Ви можете знайти повну документацію функції pandas crosstab() тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші поширені завдання панди:
Pandas: Як створити перехресну таблицю з відсотками
Pandas: як використовувати aggfunc у функції crosstab().
Pandas: як анотувати смужки на діаграмі