Як побудувати категоріальні дані в pandas (з прикладами)
Існує три поширених способи візуалізації категоріальних даних :
- Гістограма
- Коробкові ділянки по групах
- Мозаїчні сюжети
У наступних прикладах показано, як створити кожен із цих графіків для pandas DataFrame у Python.
Приклад 1: Стовпчасті діаграми
У наведеному нижче коді показано, як створити гістограму для візуалізації частоти зсувів у даному pandas DataFrame:
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 ')
На осі абсцис відображаються команди, а на осі у – розподіл очок, набраних кожною командою.
Приклад 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 ']);
На осі абсцис відображаються команди, а на осі у – частота результатів для кожної команди.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання в pandas:
Як використовувати Groupby та Plot у Pandas
Як побудувати графік розподілу значень стовпців у Pandas
Як скоригувати розмір фігури панди сюжет