【matplotlib】【notebook】淘宝评论数据指标——绘制饼状图python

工具: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()

结果如图:


完结,撒花

你可能感兴趣的:(【matplotlib】【notebook】淘宝评论数据指标——绘制饼状图python)