如何在 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 )
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 ']);
x 轴显示团队,y 轴显示每个团队的结果频率。
其他资源
以下教程解释了如何在 pandas 中执行其他常见任务: