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 ) 

pandas згрупована гістограма з перехресної таблиці

Примітка . Аргумент 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: як анотувати смужки на діаграмі

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *