本文章东拼西凑,借鉴了多位大佬,终于实现自己想要的功能。
以下是要读取的Excel原表格,共700条,这里是一部分。
我们要做一个购买商品类别的饼图,于是只需要提取“购买商品”这一列,并统计各个类别商品数量保存到新列"count"中
像这样,然后根据这些数值绘制饼图。
先上读取Excel表格和绘图库预处理代码。
import pandas as pd # 用于读取数据
import matplotlib.pyplot as plt # 绘图库
df = pd.read_excel('.\ipad.xlsx') # 读取excel表格,里面是路径,此文件已放在同目录下
# 用于正常显示中文,不加的话会出现乱码
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams["font.family"] = 'Arial Unicode MS'
# 用于正常显示符号
plt.rcParams['axes.unicode_minus'] = False
然后,用groupby对购买商品进行分组,对用户ID统计数量,reset_index将数据生成到count中
new = df.groupby(["购买商品"])['用户ID'].count().reset_index(name="count")
将提取出来的数据保存到new里,print 一下就会出现以下数据,正是我们想要的。
现在开始根据数据绘制饼状图!
# 给pie传参
plt.pie(
new['count'], # 以count为数据
labels=new['购买商品'], # 以购买商品为标签
autopct='%3.1f%%' # 显示3位整数一位小数
)
plt.title('购买商品类型饼状图') # 标题
plt.show() #显示
结果!
再次感谢各位大佬。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)