Python数据可视化淘宝天猫玩具销售数据

本文主要介绍了对乐高在淘宝和天猫旗舰店的数据进行清洗、处理,包括去除重复值、数据类型转换、销售额计算等。内容涵盖了销量排名、价格分布分析、商品标题词云图的创建,以及天猫旗舰店的类似分析。
摘要由CSDN通过智能技术生成

Step 1. 导入模块

In [1]:

import numpy as np
import pandas as pd
import plotly.graph_objects as go
import plotly.express as px
import jieba
from stylecloud import gen_stylecloud

from IPython.display import Image # 用于在jupyter lab中显示本地图片

Step 2. 乐高淘宝数据分析及其可视化

2.1 乐高淘宝数据概览

In [2]:

df_tb =pd.read_csv(r"/home/mw/input/legao3225/乐高淘宝数据.csv")
df_tb.head()

Out[2]:

goods_nameshop_namepricepurchase_numlocation
0乐高旗舰店官网悟空小侠系列80012孙悟乐高官方旗舰店1299.0['867人付款']浙江 嘉兴
1LEGO乐高 71043收藏版哈利波特霍格沃兹城堡玩具礼物天猫国际进口超市3299.0['259人付款']浙江 杭州
2LEGO乐高机械组布加迪42083粉丝收藏旗舰款玩具模型礼物天猫国际进口超市2799.0['441人付款']浙江 杭州
3乐高旗舰店官网3月新品76895超级赛车系列法拉利赛车积木玩具男孩乐高官方旗舰店199.0['358人付款']浙江 嘉兴
4乐高旗舰店官网3月新品得宝系列10921超级英雄实验室大颗粒益智乐高官方旗舰店299.0['126人付款']浙江 嘉兴

In [3]:

print("——" * 10)
print('数据集存在重复值个数:')
print(df_tb.duplicated().sum())
print("——" * 10)
print('数据集缺失值情况:')
print(df_tb.isna().sum())
print("——" * 10)
print('数据集各字段类型:')
print(df_tb.dtypes)
print("——" * 10)
print('数据总体概览:')
print(df_tb.info())
————————————————————
数据集存在重复值个数:
993
————————————————————
数据集缺失值情况:
goods_name      0
shop_name       0
price           0
purchase_num    0
location        0
dtype: int64
————————————————————
数据集各字段类型:
goods_name       object
shop_name        object
price           float64
purchase_num     object
location         object
dtype: object
————————————————————
数据总体概览:
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4404 entries, 0 to 4403
Data columns (total 5 columns):
goods_name      4404 non-null object
shop_name       4404 non-null object
price           4404 non-null float64
purchase_num    4404 non-null object
location        4404 non-null object
dtypes: float64(1), object(4)
memory usage: 172.1+ KB
None

2.2 乐高淘宝数据处理

In [4]:

# 去除重复值
df_tb.drop_duplicates(inplace=True) 
# 删除购买人数为空的记录 
df_tb = df_tb[df_tb['purchase_num'].str.contains('人付款')] 

# 重置索引 
df_tb = df_tb.reset_index(drop=True)
df_tb.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3411 entries, 0 to 3410
Data columns (total 5 columns):
goods_name      3411 non-null object
shop_name       3411 non-null object
price           3411 non-null float64
purchase_num    3411 non-null object
location        3411 non-null object
dtypes: float64(1), object(4)
memory usage: 133.3+ KB

In [5]:

# purchase_num处理 
df_tb['purchase_num'] = df_tb['purchase_num'].str.extract('(\d+)').astype('int')

# 计算销售额 
df_tb['sales_volume'] = df_tb['price'] * df_tb['purchase_num']

#location
df_tb['province'] = df_tb['location'].str.split(' ').str[0]
df_tb.head(5) 

Out[5]:

goods_nameshop_namepricepurchase_numlocationsales_volumeprovince
0乐高旗舰店官网悟空小侠系列80012孙悟乐高官方旗舰店1299.0867浙江 嘉兴1126233.0浙江
1LEGO乐高 71043收藏版哈利波特霍格沃兹城堡玩具礼物天猫国际进口超市3299.0259浙江 杭州854441.0浙江
2LEGO乐高机械组布加迪42083粉丝收藏旗舰款玩具模型礼物天猫国际进口超市2799.0441浙江 杭州1234359.0浙江
3乐高旗舰店官网3月新品76895超级赛车系列法拉利赛车积木玩具男孩乐高官方旗舰店199.0358浙江 嘉兴71242.0浙江
4乐高旗舰店官网3月新品得宝系列10921超级英雄实验室大颗粒益智乐高官方旗舰店299.0126浙江 嘉兴37674.0浙江

2.3 乐高销量排名淘宝店铺Top50

乐高官方旗舰店t_1480604179663zhou童趣互娱h543515750贝妮欧悠于曼母婴专营店gaojiayi8888cnnetearn绝代老妈666乐高玩具专卖店nbzxz了了包巴yimansiyong13579nc_zonehyj600465捷顺诚儿童玩具直销店无敌狮的战车积木班长yyyyy_5077韩xiao晓云陈z峰琳琳积木001乐佳迪玩具店luohuan900717浅海蓝深05k10k15k20k25k30k5k10k15k20k25k销量乐高销量排名淘宝店铺Top50店铺名称销量

2.4 乐高产地数量排名top50

广东上海北京浙江江苏辽宁天津湖北山东美国福建湖南河南澳大利亚香港安徽广西台湾四川黑龙江江西日本020040060080010002004006008001000店铺统计数乐高产地数量排名top50地区店铺统计数

2.5 天猫乐高价格分布

0~50元89526.2%100~200元70120.6%50~100元48614.2%500~1000元41112%300~500元37010.8%200~300元2888.44%1000元以上2607.62%0~50元100~200元50~100元500~1000元300~500元200~300元1000元以上天猫乐高价格分布

2.6 不同价格区间的销售额整体表现分布

1000元以上18,742,166.8932.2%500~1000元9,250,876.315.9%100~200元9,163,543.9115.8%300~500元8,885,389.3215.3%200~300元4,562,817.647.85%50~100元4,254,628.197.32%0~50元3,276,343.915.64%1000元以上500~1000元100~200元300~500元200~300元50~100元0~50元不同价格区间的销售额整体表现分布

2.7 淘宝乐高标题词云图

In [49]:

text = get_cut_words(content_series=df_tb['goods_name']) 
text[:10]
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\H1638\AppData\Local\Temp\jieba.cache
Loading model cost 0.820 seconds.
Prefix dict has been built successfully.

Out[49]:

['乐高', '旗舰店', '官网', '悟空小侠', '系列', '80012', '孙悟', 'LEGO', '乐高', '71043']

In [51]:

# 绘制词云图
gen_stylecloud(
    text=' '.join(text),
    collocations=False,
    font_path=r'‪C:\Windows\Fonts\msyh.ttc',
    icon_name='fas fa-plane',
    size = 768,
    output_name='淘宝乐高标题词云图.png'
)
Image(filename='淘宝乐高标题词云图.png')

Out[51]:

Step 3. 乐高天猫旗舰店数据分析及其可视化

3.1 乐高天猫旗舰店数据概览

In [16]:

df_tm = pd.read_csv(r'/home/mw/input/legao3225/天猫乐高旗舰店数据.csv')
df_tm.head()

Out[16]:

titleage_rangepricesales_numcomment_numcolor_cat
0乐高哈利波特系列霍格沃茨城堡71043成人收藏适用年龄范围:16+岁3999.0013951171043 霍格沃兹城堡
1乐高旗舰店Ideas系列21319中央咖啡厅老友记收藏送礼适用年龄16岁+699.004541299
2乐高旗舰店官网2020年新品10269 哈雷戴维森®肥仔®摩托车成人收藏NaN999.00276509
3乐高旗舰店官网2020年新品Ideas系列21320恐龙化石男女孩玩具礼物NaN599.00359524
4乐高旗舰店官网10874智能蒸汽火车遥控轨道大颗粒益智积木玩具适用年龄范围:2-5岁549.00806288410874蒸汽智能火车

3.2 乐高天猫旗舰店数据处理

In [17]:

df_tm.drop_duplicates(inplace=True)

# 价格处理
def transform_price(x):
    if '-' in x:
        return (float(x.split('-')[1]) - float(x.split('-')[0]))/2
    else:
        return x 

# 价格转换
df_tm['price'] = df_tm.price.apply(lambda x:transform_price(x)).astype('float')

# 使用平均值填充缺失值
df_tm['sales_num'] = df_tm.sales_num.replace('无',200)

#转换类型
df_tm['sales_num'] = df_tm.sales_num.astype('int')

In [18]:

df_tm['title'] = df_tm.title.str.replace('乐高旗舰店|官网|2020年', '')

#销售额
df_tm['sales_volume'] = df_tm['sales_num'] * df_tm['price']

3.3 乐高旗舰店月销量商品top50

悟空小侠系列80012孙悟空齐天大圣黄金机甲乐高5月新品悟空小侠系列80008悟空小侠云霄战机孙悟空齐天大圣城市组60226火星探测航天飞机城市组太空系列60226火星探测航天飞机积木玩具10874智能蒸汽火车遥控轨道大颗粒益智积木玩具乐高5月新品悟空小侠系列80009猪大厨移动钉耙车好朋友41366奥莉薇亚的草莓蛋糕咖啡店乐高迪士尼公主系列43172艾莎的魔法冰雪城堡积木玩具城市组60139移动指挥中心积木玩具得宝系列10899冰雪奇缘城堡大颗粒益智玩具积木乐高积木玩具 10847 数字火车 大颗粒益智儿童拼装玩具积木玩具得宝系列10847数字火车大颗粒儿童玩具得宝系列10887我的自由创意趣玩箱大颗粒玩具积木幻影忍者系列70668雷电忍者杰的暴风战机城市组60243警用直升机大追击积木玩具经典创意10696经典创意中号积木盒LEGO积木玩具3月新品76895超级赛车系列法拉利赛车积木玩具男孩3月新品超级英雄系列76141漫威灭霸机甲积木玩具21318树屋玩具积木成人送礼赛车系列75892迈凯伦塞纳LEGO玩具积木汽车模型5月新品悟空小侠系列80010牛魔王烈火机甲玩具新品机械组 42103 亮绿色改装赛车 积木玩具新品得宝系列10909心形创意积木盒大颗粒3月新品76148超级英雄系列蜘蛛侠大战章鱼博士积木幻影忍者系列70676劳埃德的泰坦机甲LEGO玩具积木010002000300040005000600010002000300040005000销量乐高旗舰店月销量商品top50商品销量

3.4 乐高旗舰店不同价格区间商品数量分布

100~200元8623.3%50~100元7119.2%500~1000元6116.5%0~50元5214.1%200~300元3910.6%300~500元359.49%1000元以上256.78%100~200元50~100元500~1000元0~50元200~300元300~500元1000元以上乐高旗舰店不同价格区间商品数量分布

3.5 乐高旗舰店不同价格区间的销售额整体表现

500~1000元20,173,60137.4%100~200元11,246,53220.9%1000元以上7,728,57714.3%50~100元5,757,30610.7%200~300元4,934,2479.16%300~500元3,008,9345.58%0~50元1,026,7841.91%500~1000元100~200元1000元以上50~100元200~300元300~500元0~50元乐高旗舰店不同价格区间的销售额整体表现

3.6 乐高旗舰店商品标题词云图

In [26]:

text = get_cut_words(content_series=df_tm['title'])
text[:6]
Building prefix dict from the default dictionary ...
Dumping model to file cache /tmp/jieba.cache
Loading model cost 0.854 seconds.
Prefix dict has been built succesfully.

Out[26]:

['乐高', '哈利波', '系列', '霍格', '沃茨', '城堡']

In [72]:

gen_stylecloud(
    text=' '.join(text),
    collocations=False,
    font_path=r'‪C:\Windows\Fonts\msyh.ttc',
    icon_name='fas fa-gamepad',
    size=768,
    output_name='乐高旗舰店商品标题词云图.png'
)
Image(filename='乐高旗舰店商品标题词云图.png')

Out[72]:

  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴躁的秋秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值