Вы можете использовать следующий базовый синтаксис для создания круговой диаграммы из кадра данных 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