Как построить категориальные данные в pandas (с примерами)
Существует три распространенных способа визуализации категориальных данных :
- Гистограмма
- Ящичные диаграммы по группам
- Мозаичные сюжеты
В следующих примерах показано, как создать каждый из этих графиков для DataFrame pandas в Python.
Пример 1: Гистограммы
Следующий код показывает, как создать гистограмму для визуализации частоты сдвигов в данном DataFrame pandas:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C', 'C', 'D'],
' points ': [18, 22, 29, 25, 14, 11, 10, 15]})
#create bar plot to visualize frequency of each team
df[' team ']. value_counts (). plot (kind=' bar ', xlabel=' Team ', ylabel=' Count ', rot= 0 )
По оси X показано название каждой команды, а по оси Y — частота появления каждой команды в DataFrame.
Примечание . Аргумент rot=0 указывает pandas повернуть метки оси X так, чтобы они были параллельны оси X.
Пример 2: Ящичные диаграммы по группам
Кластерные коробчатые диаграммы — это полезный способ визуализации числовой переменной, сгруппированной по категориальной переменной.
Например, следующий код показывает, как создать коробчатые диаграммы, показывающие распределение набранных очков, сгруппированных по командам:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
' points ': [18, 22, 29, 25, 14, 11, 10, 15]})
#create boxplot of points, grouped by team
df. boxplot (column=[' points '], by=' team ', grid= False , color=' black ')
По оси X отображаются команды, а по оси Y — распределение очков, набранных каждой командой.
Пример 3: мозаичный сюжет
Плиточный график — это тип графика, который отображает частоты двух разных категориальных переменных на одном графике.
Например, следующий код показывает, как создать мозаичный график, показывающий частоту категориальных переменных «результат» и «команда» на одном графике:
import pandas as pd
from statsmodels. graphics . mosaicplot import mosaic
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
' result ': ['W', 'L', 'L', 'W', 'W', 'L', 'L', 'W', 'W']})
#create mosaic plot
mosaic(df, [' team ', ' result ']);
По оси X отображаются команды, а по оси Y — частота результатов для каждой команды.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:
Как использовать Groupby и Plot в Pandas
Как построить график распределения значений столбцов в Pandas
Как настроить размер фигуры на графике панды