Как создать гистограмму из Pandas DataFrame


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

df.hist (column='col_name')

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

Пример 1. Построение одной гистограммы

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29, 29, 31, 31, 33],
 'assists': [5, 7, 7, 9, 12, 9, 9, 4, 7, 7, 8, 9],
 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12, 10, 7, 7, 9]})

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

 points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

#create histogram for 'points' column
df.hist (column='points')

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

#create custom histogram for 'points' column
df.hist (column='points', bins= 5 , grid= False , rwidth= .9 , color='purple')

По оси X отображаются очки, набранные каждым игроком, а по оси Y — частота количества игроков, набравших такое количество очков.

Пример 2: построение нескольких гистограмм

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team ':['A', 'A', 'A', 'A', 'A', 'A',
 'B', 'B', 'B', 'B', 'B', 'B'],
 'points': [25, 12, 15, 14, 19, 23, 25, 29, 29, 31, 31, 33]})

#view first five rows
df.head ()

 team points
0 A 25
1 A 12
2 A 15
3 A 14
4 A 19

#create histogram for each team
df.hist (column='points', by='team', bins= 3 , grid= False , rwidth= .9 ,
 color='purple', sharex= True )

Обратите внимание, что аргумент sharex указывает, что две гистограммы должны иметь одну и ту же ось X.

Это упрощает сравнение распределения значений между двумя гистограммами.

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

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

Как построить несколько строк в Matplotlib
Как создать блокплот из Pandas DataFrame
Как построить несколько столбцов Pandas на гистограмме