Как создать гистограмму с накоплением в pandas


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

 df. groupby ([' var1 ', ' var2 ']). size (). unstack (). plot (kind=' bar ', stacked= True )

В следующем примере показано, как использовать этот синтаксис на практике.

Пример. Создание гистограммы с накоплением в Pandas

Предположим, у нас есть следующий DataFrame pandas, содержащий информацию о различных баскетболистах:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'F', 'F', 'F'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4]})

#view DataFrame
print (df)

  team position points
0 AG 5
1 AG 7
2AF 7
3 AF 9
4 BG 12
5 BF 9
6 BF 9
7 BF 4

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

 df. groupby ([' team ', ' position ']). size (). unstack (). plot (kind=' bar ', stacked= True )

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

На доске мы видим, что у команды А есть 2 защитника (G) и 2 нападающих (F), а у команды Б — 1 защитник и 3 нападающих.

Вы также можете использовать аргументы цвета и заголовка , чтобы изменить цвет столбцов и добавить заголовок к графику:

 df. groupby ([' team ', ' position ']). size (). unstack (). plot (kind=' bar ', stacked= True ,
            color=[' steelblue ',' pink '], title=' Position Count by Team ')

гистограмма с накоплением в пандах

В верхнюю часть графика был добавлен заголовок, а цвета полос были изменены на стальной синий и розовый, как мы указали.

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

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

Как создать тепловые карты в Python
Как создать колоколообразную кривую в Python
Как создать оживальную диаграмму в Python

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

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