电商双11美妆数据分析

电商双11美妆数据分析

1、数据初步了解

import numpy as np
import pandas as pd 
df = pd.read_csv('双十一淘宝美妆数据.csv')
df.head() #查看数居前五行 

在这里插入图片描述

df.info() #查看数据特征
df.shape #查看数据量
df.describe() #查看各数字类型特征的一些统计量

在这里插入图片描述

2.数据清洗

2.1 重复值处理

直接删除重复值。

data = df.drop_duplicates(inplace = False)##去重
data.reset_index(inplace = True,drop = True)##重置行索引
data.shape

可以得出有86条重复数据,删除后得到新的数据

2.2 缺失值处理
data.loc[data['sale_count'].isnull()].head()

在这里插入图片描述

data.loc[data['comment_count'].isnull()].tail()

在这里插入图片描述

##填补缺失值
data=data.fillna(0) #用0填补缺失值
data.isnull().any() #查看是否还有空值
2.3 数据挖掘寻找新的特征
##使用jieba包对title进行分词,进一步了解每一个商品的特征
import jieba 
subtitle=[]
for each in data['title']:
    k=jieba.lcut_for_search(each) ##搜索引擎模式
    subtitle.append(k)
data['subtitle']=subtitle
data[['title','subtitle']].head()

在这里插入图片描述

# 给商品添加分类
sub_type = []   #子类别
main_type = []  #主类别
basic_data = """护肤品	乳液类	乳液	美白乳	润肤乳	凝乳	柔肤液	亮肤乳	菁华乳	修护乳
护肤品	眼部护理类	眼霜	眼部	眼膜					
护肤品	面膜类	面膜													
护肤品	清洁类	洗面	洁面	清洁	卸妆	洁颜	洗颜	去角质	磨砂						
护肤品	化妆水	化妆水	爽肤水	柔肤水	补水露	凝露	柔肤液	精粹水	亮肤水	润肤水	保湿水	菁华水	保湿喷雾	舒缓喷雾
护肤品	面霜类	面霜	日霜	晚霜	柔肤霜	滋润霜	保湿霜	凝霜	日间霜	晚间霜	乳霜	修护霜	亮肤霜	底霜	菁华霜
护肤品	精华类	精华液	精华水	精华露	精华素	精华										
护肤品	防晒类	防晒
护肤品	补水类	补水													
化妆品	口红类	唇釉	口红	唇彩	唇膏											
化妆品	底妆类	散粉	蜜粉	粉底液	定妆粉 	气垫	粉饼	BB	CC	遮瑕	粉霜	粉底膏	粉底霜		
化妆品	眼部彩妆	眉粉	染眉膏	眼线	眼影	睫毛膏	眉笔										
化妆品	修容类	鼻影	修容粉	高光	腮红""" 
##主观的分类,不在这些类别里的并入其他类。第一列是大类,第二列是小类,后面都是关键词
dcatg={
   }
catg=basic_data.split('\n')
for i in catg:
    main_cat=i.strip().split('\t')[0]
    sub_cat=i.strip().split('\t')[1]
    o_cat=i.strip().split('\t')[2:len(catg)]
    for j in o_cat:
        dcatg[j]=(main_cat,sub_cat)
dcatg
##分类字典

给出各个关键词的分类类别

sub_type = [] #主类
main_type = [] #次类
for i in range(len(data)):
    exist = False
    for j in data['subtitle'][i]:
        if j in dcatg:
            sub_type.append(dcatg[j][1])
            main_type.append(dcatg[j][0])
            exist = True
            break 
    if not exist :
        sub_type.append('其他')
        main_type.append('其他') 
data['sub_type']=sub_type
data['main_type']=main_type
data.loc[data['sub_type'] == '其他'].count() ##查看分类为其他的有多少商品

由title新生成两列类别

对是否是男性专用进行分析并新增一列
sex=[]
for i in range(len(data)):
    if '男士' in data['subtitle'][i] :
        sex.append('是')
    elif '男生' in data['subtitle'][i] :
        sex.append('是')
    elif '男' in data['subtitle'][i] and '女' not in data['subtitle'][i]  and '斩男' not in data['subtitle'][i]:
        sex.append('是')
    else :
        sex.append('否')
data['是否男士专用']=sex 
data.loc[data['是否男士专用'] == '是'].head()
data['是否男士专用'].value_counts()
对每个产品总销量新增销售额这一列
data['销售额'] = data.price * data.sale_count
data.head()

3.数据分析及可视化

import matplotlib.pyplot as plt 
%matplotlib inline
plt
  • 13
    点赞
  • 148
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值