Pandas 和Matplotlib绘制分类数据
在本文中,我们将介绍如何使用Pandas和Matplotlib绘制分类数据。分类数据可以包含有限个元素,例如颜色(红、绿、蓝)或血型(A、B、AB、O)。在Pandas中,可以使用Category数据类型来处理分类数据。
阅读更多:Pandas 教程
创建分类数据
首先,我们需要创建一些分类数据。我们可以使用Pandas的Category数据类型来创建分类数据。下面是一个例子:
import pandas as pd
colors = pd.Series(['red', 'green', 'blue', 'red'], dtype='category')
print(colors)
输出结果为:
0 red
1 green
2 blue
3 red
dtype: category
Categories (3, object): ['blue', 'green', 'red']
我们可以看到,Pandas自动检测到共有三个不同的颜色,并将它们放入了一个分类中。我们可以使用categories属性来查看分类中的元素:
print(colors.cat.categories)
输出结果为:
Index(['blue', 'green', 'red'], dtype='object')
绘制分类数据
接下来,我们可以使用Matplotlib来绘制这些分类数据。我们可以使用value_counts()函数来计算每个分类的数量,然后将其作为一个条形图来绘制:
import matplotlib.pyplot as plt
count = colors.value_counts()
plt.bar(count.index, count.values)
plt.show()
我们也可以绘制一个饼图来显示每个颜色所占的比例:
plt.pie(count.values, labels=count.index, autopct='%1.1f%%')
plt.show()
重新排序和添加缺失分类
有时候我们希望按照特定的顺序来绘制分类数据。我们可以使用reorder_categories()函数来重新排序分类:
colors = colors.cat.reorder_categories(['red', 'green', 'blue'])
count = colors.value_counts()
plt.bar(count.index, count.values)
plt.show()
我们还可以使用add_categories()函数来添加新的分类:
colors = colors.cat.add_categories(['yellow'])
colors[4] = 'yellow'
count = colors.value_counts()
plt.pie(count.values, labels=count.index, autopct='%1.1f%%')
plt.show()
总结
本文介绍了如何使用Pandas和Matplotlib绘制分类数据。我们首先使用Category数据类型来创建分类数据,然后使用Matplotlib来绘制条形图和饼图。我们还讨论了如何重新排序和添加缺失分类。分类数据在数据分析和可视化中广泛使用,掌握相关的技能是非常有用的。
极客教程