Pandas: как создать гистограмму из GroupBy

Pandas: как создать гистограмму из GroupBy

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

#calculate sum of values by group
df_groups = df.groupby(['group_var'])['values_var']. sum ()

#create bar plot by group
df_groups.plot(kind='bar')

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

Пример: создание гистограммы из GroupBy в Pandas

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'A',
 'B', 'B', 'B', 'B', 'B',
 'C', 'C', 'C', 'C', 'C'],
 'points': [12, 29, 34, 14, 10, 11, 7, 36,
 34, 22, 41, 40, 45, 36, 38]})

#view first five rows of DataFrame
df.head ()

 team points
0 A 12
1 A 29
2 A 34
3 A 14
4 A 10

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

import matplotlib.pyplot as plt

#calculate sum of points for each team
df.groupby('team')['points']. sum ()

#create bar plot by group
df_groups.plot(kind='bar')

По оси X отложено название каждой команды, а по оси Y — сумма очков, набранных каждой командой.

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

import matplotlib.pyplot as plt

#calculate sum of points for each team
df_groups = df.groupby(['team'])['points']. sum ()

#create bar plot with custom aesthetics
df_groups.plot(kind='bar', title='Total Points by Team',
 ylabel='Total Points', xlabel='Team', figsize=( 10 , 6 ))

#rotate x-axis ticks vertically
plt.xticks (rotation= 0 )
группа панд по столбчатому графику

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

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

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

Pandas: как подсчитать уникальные значения по группам
Pandas: как рассчитать режим по группе
Pandas: как рассчитать корреляцию по группе

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.