Як створити стовпчасту діаграму з накопиченням у pandas


Ви можете використовувати такий базовий синтаксис, щоб створити гістограму з накопиченням у pandas:

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

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: створення стовпчастої діаграми з накопиченням у Pandas

Припустімо, що у нас є такий фрейм даних 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 )

На осі абсцис – назва команди , а на осі у – загальна кількість позицій для кожної команди.

На дошці ми бачимо, що команда A має 2 захисників (G) і 2 нападників (F), а команда B має 1 захисника і 3 нападників.

Ви також можете використовувати аргументи кольору та заголовка , щоб змінити колір смужок і додати заголовок до графіка:

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

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

У верхній частині сюжету додано заголовок, а кольори панелі змінено на синій і рожевий, як ми вказали.

Додаткові ресурси

У наступних посібниках пояснюється, як створювати інші типові діаграми в Python:

Як створити теплові карти в Python
Як створити дзвоноподібну криву в Python
Як створити діаграму Ogive у Python

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

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