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 градусов, чтобы их было легче читать.

По оси X отображаются названия команд, а сгруппированные столбцы отображают частоту каждой позиции.

Например, мы можем увидеть:

  • В команде А есть 1 игрок с позицией F.
  • В команде А есть 2 игрока с позицией G.

И так далее.

Пример 2. Создание столбчатой диаграммы с накоплением из перекрестной таблицы

Мы можем использовать следующий синтаксис для создания составной гистограммы из перекрестной таблицы:

 import matplotlib. pyplot as plt

#create stacked bar plot
my_crosstab. plot (kind=' bar ', stacked= True , rot= 0 ) 

Примечание . Аргумент stacked=True позволил нам создать составную гистограмму вместо сгруппированной гистограммы.

По оси X отображаются названия команд, а столбцы, расположенные друг над другом, отображают частоту каждой позиции.

Например, мы можем увидеть:

  • В команде А есть 1 игрок с позицией F.
  • В команде А есть 2 игрока с позицией G.
  • Всего в команде А 3 игрока.

И так далее.

Этот тип графика особенно полезен, когда мы хотим визуализировать общее количество элементов для каждого уникального значения на оси X.

Примечание . Полную документацию по функции pandas crosstab() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи panda:

Pandas: как создать кросс-таблицу с процентами
Pandas: как использовать aggfunc в функции crosstab()
Pandas: как аннотировать столбцы на гистограмме

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *