双十一淘宝美妆消费数据分析

双十一淘宝美妆消费数据分析
数据来源

  • 和鲸社区数据分析项目:https://www.kesci.com/mw/project/5e60fc9cb8dfce002d7ff6a1/dataset

项目描述

  • 由于是真实的商业数据,所以做了匿名处理,数据集中对店名的引用被处理为产品的品牌名以保护店家隐私。
  • 通过对天猫双十一美妆数据集中品牌、销量、热度等特征的分析,尝试探索以下问题:

  1. 双十一期间,最受消费者青睐的产品或品牌是哪些
  2. 双十一期间,美妆行业各品类的销售情况
  3. 双十一期间,消费高峰何时出现
  4. 双十一期间,客户的评论数对销量的影响
import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
%matplotlib inline

plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

import warnings
warnings.filterwarnings('ignore')

1.读取数据

df=pd.read_csv('./beautymakeup.csv',',')
df.info()

在这里插入图片描述

df.head()

在这里插入图片描述

2.清洗数据

2.1去除重复值

df.duplicated().sum()#计算重复条数
df.drop_duplicates(inplace=True)#去除重复值
df.shape#查看去重后数据条数
df.reset_index(inplace=True,drop=True)#重置索引

2.2处理缺失值

在这里插入图片描述

df.sale_count.mode()#sale_count的众数
df.comment_count.mode()#comment_count的众数

sale_count、comment_count的众数都为0,且结合实际情况销量、评论数都可能存在为0的情况,因此是使用0来填充这两列的空值。

df.fillna(0,inplace=True)
df.sale_count=df.sale_count.astype('int64')
df.comment_count=df.comment_count.astype('int64')
df.isnull().sum()#检查是否完成缺失值的处理

2.3提取表格信息

2.3.1对商品名称title进行分词处理

import jieba
title_cut=[]
for i in df.title:
    j=jieba.lcut(i)
    title_cut.append(j)
df['name_cut']=title_cut
df[['title','name_cut']].head()

在这里插入图片描述

2.3.2给商品添加分类并增加对应列

first_type=[]#主类别
second_type=[]#子类别
basic_config_data = '''护肤品	套装	套装							
护肤品	乳液类	乳液	美白乳	润肤乳	凝乳	柔肤液'	亮肤乳	菁华乳	修护乳
护肤品	眼部护理	眼霜	眼部精华	眼膜					
护肤品	面膜类	面膜													
护肤品	清洁类	洗面	洁面	清洁	卸妆	洁颜	洗颜	去角质	磨砂						
护肤品	化妆水	化妆水	爽肤水	柔肤水	补水露	凝露	柔肤液	精粹水	亮肤水	润肤水	保湿水	菁华水	保湿喷雾	舒缓喷雾
护肤品	面霜类	面霜	日霜	晚霜	柔肤霜	滋润霜	保湿霜	凝霜	日间霜	晚间霜	乳霜	修护霜	亮肤霜	底霜	菁华霜
护肤品	精华类	精华液	精华水	精华露	精华素										
护肤品	防晒类	防晒霜	防晒喷雾												
化妆品	口红类	唇釉	口红	唇彩											
化妆品	底妆类	散粉	蜜粉	粉底液	定妆粉 	气垫	粉饼	BB	CC	遮瑕	粉霜	粉底膏	粉底霜		
化妆品	眼部彩妆	眉粉	染眉膏	眼线	眼影	睫毛膏									
化妆品	修容类	鼻影	修容粉	高光	腮红										
其他	其他	其他'''#标准分类
category_map={
   }
for m in basic_config_data.split('\n'):
    basic_category_list=m.strip().strip('\n').strip('\t').split('\t')
    first_category=basic_category_list[0]
    second_category=basic_category_list[1]
    unit_category_list=basic_category_list[2:-1]
    for unit_category in unit_category_list:
        if unit_category and unit_category.strip().strip('\t'):
            category_map[unit_category]=(first_category,second_category)
 category_map

在这里插入图片描述

for i in range(len(df)):
    exist=False
    for j in df['name_cut'][i]:
        if j in category_map:
            first_type.append(category_map.get(j)[0])
            second_type.append(category_map.get(j)[1])
            exist=True
            break
    if not exist:
            first_type.append('其他')
            second_type.append('其他')

在这里插入图片描述

gender=[]
for i in range(len(df)):
    if '男' in df.name_cut[i]:
        gender.append('是')
    elif '男生' in df.name_cut[i]:
        gender.append('是')
    elif '男士' in df.name_cut[i]:
        gender.append('是')
    else:
        gender.append('否'
  • 14
    点赞
  • 139
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值