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


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

df.groupby(['group_column']). sum ().plot(kind='pie', y='value_column')

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

Пример 1: создание базовой круговой диаграммы

Предположим, у нас есть следующие две Pandas DataFrame:

import pandas as pd

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

#view DataFrame
print(df)

 team points
0 A 25
1 A 12
2 B 25
3 B 14
4 B 19
5 B 53
6 C 25
7 C 29

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

df.groupby(['team']). sum ().plot(kind='pie', y='points')

Пример 2. Создание пользовательской круговой диаграммы

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

  • autopct : Отображать проценты на круговой диаграмме.
  • цвета : Укажите цвета для использования в круговой диаграмме.
  • title : добавить заголовок к круговой диаграмме

Следующий код показывает, как использовать эти аргументы на практике:

df.groupby(['team']). sum ().plot(kind='pie', y='points', autopct='%1.0f%%',
 colors = ['red', 'pink', 'steelblue'],
 title='Points Scored by Team')) 

Обратите внимание, что цвета будут назначены категориям, как они отображаются в DataFrame.

Например, команда «А» появляется первой в DataFrame, поэтому она получила «красный» цвет на круговой диаграмме.

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

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

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