Как построить график распределения значений столбцов в pandas


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

Способ 1: построить график распределения значений в столбце

 df[' my_column ']. plot (kind=' kde ')

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

 df. groupby (' group_column ')[' values_column ']. plot (kind=' kde ')

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                            'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'],
                   ' points ': [3, 3, 4, 5, 4, 7, 7, 7, 10, 11, 
                              8, 7, 8, 9, 12, 12, 12, 14, 15, 17]})

#view DataFrame
print (df)

   team points
0 to 3
1 to 3
2 to 4
3 to 5
4 to 4
5 TO 7
6 to 7
7 to 7
8 to 10
9 to 11
10 B 8
11 B 7
12 B 8
13 B 9
14 B 12
15 B 12
16 B 12
17 B 14
18 B 15
19 B 17

Пример 1. Постройте график распределения значений в столбце

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

 #plot distribution of values in points column
df[' points ']. plot (kind=' kde ')

Обратите внимание, что kind=’kde’ сообщает pandas использовать оценку плотности ядра , которая создает плавную кривую, суммирующую распределение значений переменной.

Если вы хотите вместо этого создать гистограмму, вы можете указать kind=’hist’ следующим образом:

 #plot distribution of values in points column using histogram
df[' points ']. plot (kind=' hist ', edgecolor=' black ') 

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

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

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

 import matplotlib.pyplot as plt

#plot distribution of points by team 
df. groupby (' team ')[' points ']. plot (kind=' kde ')

#add legend
plt. legend ([' A ',' B '], title=' Team ')

#add x-axis label
plt. xlabel (' Points ')

Синяя линия показывает распределение очков игроков команды А, а оранжевая линия показывает распределение очков игроков команды Б.

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

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

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

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

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