Pandas: как использовать Groupby и Plot (с примерами)

Pandas: как использовать Groupby и Plot (с примерами)

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

Метод 1: группировка и построение нескольких линий на одном графике

#define index column
df.set_index('day', inplace= True )

#group data by product and display sales as line chart
df.groupby('product')['sales'].plot(legend= True )

Метод 2: группировка по и сюжетным линиям в отдельных подзаговорах

pd.pivot_table(df.reset_index(),
 index='day', columns='product', values='sales '
 ).plot(subplots= True )

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

import pandas as pd

#create DataFrame
df = pd.DataFrame({'day': [1, 2, 3, 4, 5, 1, 2, 3, 4, 5],
 'product': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
 'sales': [4, 7, 8, 12, 15, 8, 11, 14, 19, 20]})

#view DataFrame
df

 day product sales
0 1 A 4
1 2 A 7
2 3 A 8
3 4 A 12
4 5 A 15
5 1 B 8
6 2 B 11
7 3 B 14
8 4 B 19
9 5 B 20

Метод 1: группировка и построение нескольких линий на одном графике

В следующем коде показано, как сгруппировать DataFrame по переменной «продукт» и отобразить «продажи» каждого продукта на одной диаграмме:

#define index column
df.set_index('day', inplace= True )

#group data by product and display sales as line chart
df.groupby('product')['sales'].plot(legend= True ) 
pandas groupby и сюжет

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

Метод 2: группировка по и сюжетным линиям в отдельных подзаговорах

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

pd.pivot_table(df.reset_index(),
 index='day', columns='product', values='sales '
 ).plot(subplots= True ) 
pandas groupby и сюжет в подзаговорах

Первый график показывает продажи продукта А, а второй график показывает продажи продукта Б.

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

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

pd.pivot_table(df.reset_index(),
 index='day', columns='product', values='sales '
 ).plot(subplots= True , layout=(1,2)) 

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

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

Как создать блокплот из Pandas DataFrame
Как создать круговую диаграмму из Pandas DataFrame
Как создать гистограмму из Pandas DataFrame

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