工具:jupyter notebook
目标:统计颜色分类该属性每一种类型的销售数量占比。
如下图,该图是源数据,颜色分类即auctionSku列的数据内容。
实验步骤:
导入包:
import pandas as pd
import re
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from pylab import *
from datetime import date,datetime
读取数据:
df=pd.read_excel('perfectdiary_data.xlsx',index_col=None)
print(len(df['auctionSku']))
df['auctionSku'].values
print(type(df['auctionSku'].values))
清洗数据:
content = ' '
c_list = []
for i in df['auctionSku'].values:
content += i # 拼接成字符串
# 替换每一项字符串内容不需要的字词、符号;注意 :replace('颜色分类:',' 这里有空格'),空格为标记,方便后面分割字符串
data = content.replace('颜色分类:',' ').replace('[New]','').replace('【预售】','').replace('.','').replace('预售','').replace('-','')
c_list=data.split(' ') #以空格分割字符串,返回的数据类型为列表
print(c_list)
结果如下图:
统计每个字段出现的频数:
result_dic={}
for item_str in c_list[1:]: #c_list[1:]表示从索引1(即第二个值)开始取到。因为前面用空格分割字符串,所以索引0取到的值为空
if item_str not in result_dic:
result_dic[item_str]=1
else:
result_dic[item_str]+=1
result_dic
结果如图:
列表a和b中的值进行基本的数学计算,算出每种相同的数据类型在总的类型数量中所占的比例;统计Excel中表格中相同的对象数据,同时把它存入a、b。
a=[]
b=[]
for key in result_dic:
a.append(key)
b.append(result_dic[key])
绘制图形:
plt.rcParams['font.sans-serif']=['SimHei']#正常显示中文标签
size=[]
t=sum(b)#统计总的发表篇幅
label=a
#算出每种相同的数据类型在总的类型数量中所占的比例
for u in b:
i=u/t
size.append(i)
plt.plot(size)
plt.title('颜色分类属性饼状图')
plt.pie(size,labels=label,colors="rgb",autopct='%1.lf%%',shadow=False,startangle=90)
plt.show()
结果如图:
完结,撒花
网友评论