如何在 pandas 中绘制分类数据(附示例)


可视化分类数据有三种常见方法:

  • 条形图
  • 按组划分的箱线图
  • 马赛克图

以下示例展示了如何在 Python 中为 pandas DataFrame 创建每个图。

示例 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 )

在 pandas 中绘制分类数据

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:马赛克图

平铺图是一种在单个图中显示两个不同类别变量的频率的图。

例如,以下代码显示如何创建马赛克图,在单个图中显示 calcategori 变量“结果”和“团队”的频率:

 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 中分类数据的马赛克图

x 轴显示团队,y 轴显示每个团队的结果频率。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何在 Pandas 中使用 Groupby 和 Plot
如何绘制Pandas中列值的分布
如何调整熊猫图的图形大小

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注