淘宝乐高销售分析
一、项目背景
对淘宝的乐高销售数据进行一定分析,了解乐高销售的整体情况
工具:jupyter notebook,python
二、分析内容
- 乐高销量排名top10店铺
- 乐高产地数量排名top10
- 乐高产地国内销量分布
- 不同价格区间的销量分布
- 不同价格区间的销售额表现
三、分析过程
3.1 导入数据
#导入相关的库 import pandas as pd import numpy as np import time from pyecharts.charts import Bar,Line,Map,Pie from pyecharts import options as opts from pyecharts.globals import SymbolType #导入原始数据 df = pd.read_csv('乐高淘宝数据.csv') #查看前五行数据 df.head()

字段说明:
- goods_name:商品名称
- shop_name:店铺名称
- price:价格
- purchase_num:销量
- location:产地
查看数据总体情况
df.info()

3.2 数据处理
- 去除重复值
- purchase_num提取人数
- 计算销售额 = price * purchase_num
- location:提取省份
#删去重复值 df.drop_duplicates(inplace = True) #删去购买人数为空的记录 df = df[df['purchase_num'].str.contains('人付款')] #重置索引 df = df.reset_index(drop = True) df.info()

# purchase_num提取人数 df['purchase_num'] = df['purchase_num'].str.extract('(\d+)').astype('int') # 计算销售额 df['sales_volume'] = df['price'] * df['purchase_num'] #提取省份 df['province'] = df['location'].str.split(' ').str[0]
df.head()

3.3 数据可视化
3.3.1 乐高销量排名top10店铺
shop_top10 = df.groupby('shop_name')['purchase_num'].sum().sort_values(ascending=False).head(10) shop_top10

#条形图 bar_purchase_top10 = ( Bar() .add_xaxis(shop_top10.index.tolist()) .add_yaxis('销量',shop_top10.values.tolist()) .set_global_opts(title_opts = opts.TitleOpts(title = '乐高销量top10店铺'), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)), visualmap_opts=opts.VisualMapOpts(max_=28669) ) ) bar_purchase_top10.render_notebook()

- 从分布图中能看出,官方旗舰店的销量遥遥领先,天猫超市和第三方店铺的销量差距不大
3.3.2 乐高产地数量top10
province_top10 = df.province.value_counts()[:10]
province_top10

#条形图 bar_province_top10 = ( Bar() .add_xaxis(province_top10.index.tolist()) .add_yaxis('产地数量',province_top10.values.tolist()) .set_global_opts(title_opts = opts.TitleOpts(title = '乐高产地数量top10店铺'), visualmap_opts=opts.VisualMapOpts(max_=1000) ) ) bar_province_top10.render_notebook()

- 可以看到销售乐高的店铺更多来自广东、上海、北京
3.3.3 国内各省份乐高销量分布图
province_num = df.groupby('province')['purchase_num'].sum().sort_values(ascending = False) province_num

map_province_num = ( Map() .add( '', [list(z) for z in zip(province_num.index.tolist(), province_num.values.tolist())], 'china') .set_global_opts( title_opts = opts.TitleOpts(title = '国内各产地乐高销量分布图'), visualmap_opts = opts.VisualMapOpts(max_ = 172277)) ) map_province_num.render_notebook()

- 可以看到广东销量是最多的,其次是浙江
- 淘宝的乐高官方旗舰店在浙江,前面也分析过官方旗舰店的销量远超其他店铺,28000+的销量占全浙江的67.4%,但是由于广东的乐高店铺非常多,使得广东销量在浙江销量的三倍以上
- 这也能侧面反映出,广东的乐高玩家需求更多,或者是比起其他地区,乐高在广东的孩子教育中更加常见
3.3.4 淘宝乐高不同价格的商品分布
#切分价格区间 cut_bins = [0,50,100,200,300,500,1000,8888] cut_labels = ['0~50元', '50~100元', '100~200元', '200~300元', '300~500元', '500~1000元', '1000元以上'] price_cut = pd.cut(df['price'],bins=cut_bins,labels=cut_labels) price_num = price_cut.value_counts() price_num

#条形图 bar_price_num = ( Bar() .add_xaxis(['0~50元', '50~100元', '100~200元', '200~300元', '300~500元', '500~1000元', '1000元以上']) .add_yaxis('', price_num.values.tolist()) .set_global_opts( title_opts = opts.TitleOpts(title = '不同价格区间的商品数量'), visualmap_opts = opts.VisualMapOpts(max_ = 900) ) ) bar_price_num.render_notebook()

- 各区间都有一定的商品数量,50元以下和100~200元区间形成两个峰,低价乐高更受欢迎,而100元以上的乐高在精致度上可能全面升级,也吸引了不少玩家,200元以上的商品并不少,占总数量的39%,说明也有很多玩家对更精致更复杂的乐高商品有需求
3.3.5 不同价格区间的销售额整体表现
df['price_cut'] = price_cut cut_purchase = df.groupby('price_cut')['sales_volume'].sum() cut_purchase

#饼图 pie_cut_purchase = ( Pie() .add( "", [list(z) for z in zip(cut_purchase.index.tolist(), cut_purchase.values.tolist())], radius = ['40%', '75%'], ) .set_global_opts( title_opts = opts.TitleOpts(title = '不同价格区间的销售额整体表现'), legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"), ) .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")) #{b}:{c}显示'标签:数值',{d}显示百分数占比 .set_colors(['#EF9050', '#3B7BA9', '#6FB27C', '#FFAF34', '#D8BFD8', '#00BFFF', '#7FFFAA']) ) pie_cut_purchase.render_notebook()

- 可以看到销售额贡献最多的价格区间是1000元以上、500~1000元、100~200元、300~500元这四个区间
- 虽然50元以下商品的销量挺多,但因为单价低,贡献的销售额是最少的
- 乐高玩家的消费能力颇高,乐高商品的发展趋势应该趋于精品化,往更精致更具特色的方向发展

浙公网安备 33010602011771号