Pandas: как использовать groupby и plot (с примерами)
Вы можете использовать следующие методы для группировки и построения графиков с помощью DataFrame pandas:
Способ 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. Группируйте и рисуйте линии на отдельных участках.
p.d. pivot_table ( df.reset_index (), index=' day ', columns=' product ', values=' sales ' ). plot (subplots= True )
В следующем примере показано, как использовать каждый метод на практике со следующим DataFrame pandas:
import pandas as pd #createDataFrame 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 To 7 2 3 To 8 3 4 A 12 4 5 To 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 )
По оси X показан день, по оси Y показаны продажи, а в каждой отдельной строке показаны продажи отдельных продуктов.
Метод 2. Группируйте и рисуйте линии на отдельных участках.
Следующий код показывает, как сгруппировать DataFrame по переменной «продукт» и построить график «продаж» каждого продукта на отдельных подграфиках:
p.d. pivot_table ( df.reset_index (), index=' day ', columns=' product ', values=' sales ' ). plot (subplots= True )
На первом графике показаны продажи продукта А, а на втором графике показаны продажи продукта Б.
Обратите внимание, что мы также можем использовать аргумент макета , чтобы указать расположение подтрасс.
Например, мы могли бы указать, чтобы подграфики находились в сетке с одной строкой и двумя столбцами:
p.d. pivot_table ( df.reset_index (), index=' day ', columns=' product ', values=' sales ' ). plot (subplots= True , layout=(1,2))
Дополнительные ресурсы
В следующих руководствах объясняется, как создавать другие распространенные визуализации в pandas:
Как создать коробчатую диаграмму из Pandas DataFrame
Как создать круговую диаграмму из Pandas DataFrame
Как создать гистограмму из Pandas DataFrame