Python天猫双⼗⼀美妆销售数据分析本⽂来源
点击以上链接,不⽤配置环境,直接在线运⾏
本⽂数据集链接:
⼀、读取数据
郭采洁 陈意涵import pandas as pd
import numpy as np
data = pd.read_csv('beautymakeup in T-mall.csv')
data.head()
data.shape
out[]:(27598, 7)
寒食古诗# 查看各字段信息
data.info()
data['店名'].value_counts()
⼆、数据清洗
2.1 重复数据处理
# 对重复数据做删除处理
data = data.drop_duplicates(inplace=False)
data.shape
out:(27512, 7)
# 此处虽然删除了重复值,但索引未变,因此应⽤以下⽅法进⾏重置索引set_index(inplace=True,drop=True)
2.2 缺失值处理
# 查看缺失值
data.isnull().any()
有两列数据存在缺失值:sale_count, comment_count
# 查看数据结构
data.describe()
# 查看sale_count列的众数
mode_01 = data.de()
mode_01
out:
0 0.0
dtype: float64
# 查看comment_count列的众数
mode_02 = de()
mode_02
out:
0 0.0
dtype: float64
此处两列的众数均为0,且由标签数据含义可知销售量和评论数有可能存在为0的情况,因此使⽤0来填充缺失值
data = data.fillna(0)
data.isnull().sum()
2.3 提取表格中有⽤信息并新增为列
(1)对商品标题进⾏分词处理
树林的作用import jieba
游山西村原文及翻译# jieba.load_userdict('')
title_cut =[]
for i in data.title:
j = jieba.lcut(i)
title_cut.append(j)
data['item_name_cut']= title_cut
data[['title','item_name_cut']].head()
# 给商品添加分类
sub_type =[]#⼦类别
main_type =[]#主类别
basic_config_data ="""护肤品套装套装
护肤品乳液类乳液美⽩乳润肤乳凝乳柔肤液' 亮肤乳菁华乳修护乳
护肤品眼部护理眼霜眼部精华眼膜
护肤品⾯膜类⾯膜
护肤品清洁类洗⾯洁⾯清洁卸妆洁颜洗颜去⾓质磨砂
护肤品化妆⽔化妆⽔爽肤⽔柔肤⽔补⽔露凝露柔肤液精粹⽔亮肤⽔润肤⽔保湿⽔菁华⽔保湿喷雾舒缓喷雾护肤品⾯霜类⾯霜⽇霜晚霜柔肤霜滋润霜保湿霜凝霜⽇间霜晚间霜乳霜修护霜亮肤霜底霜菁华霜
护肤品精华类精华液精华⽔精华露精华素
护肤品防晒类防晒霜防晒喷雾
化妆品⼝红类唇釉⼝红唇彩
化妆品底妆类散粉蜜粉粉底液定妆粉⽓垫粉饼 BB CC 遮瑕粉霜粉底膏粉底霜
化妆品眼部彩妆眉粉染眉膏眼线眼影睫⽑膏
化妆品修容类⿐影修容粉⾼光腮红
其他其他其他"""
足球裁判手势category_config_map ={}
for config_line in basic_config_data.split('\n'):
basic_cateogry_list = config_line.strip().strip('\n').strip('\t').split('\t')
main_category = basic_cateogry_list[0]
sub_category = basic_cateogry_list[1]
unit_category_list = basic_cateogry_list[2:-1]
for unit_category in unit_category_list:
if unit_category and unit_category.strip().strip('\t'):
category_config_map[unit_category]=(main_category,sub_category)
category_config_map
for i in range(len(data)):
exist =False
for temp in data.item_name_cut[i]:
if temp in category_config_map:
sub_type.append(category_(temp)[1])
main_type.append(category_(temp)[0])
exist =True
break
怎么网上购物if not exist:
sub_type.append('其他')
main_type.append('其他')
print(len(sub_type),len(main_type),len(data))
out:
27512 27512 27512
(2)将⼦类别sub_type新增为⼀列
data['sub_type']= sub_type
(3)将主类别main-type新增为⼀列
data['main_type']= main_type
data['sub_type'].value_counts()
data['main_type'].value_counts()
(4)将“是否男⼠专⽤”新增为⼀列
gender =[]
for i in range(len(data)):
if'男'in data.item_name_cut[i]:
gender.append('是')
elif'男⼠'in data.item_name_cut[i]:
gender.append('是')
elif'男⽣'in data.item_name_cut[i]:
gender.append('是')
else:
gender.append('否')
# 将“是否男⼠专⽤”新增为⼀列
data['是否男⼠专⽤']= gender
data['是否男⼠专⽤'].value_counts()
(5)新增销售额、购买⽇期(天)为⼀列
新增销售额为⼀列
# 销售额=销售量*价格
data['销售额']= data.sale_count*data.price
新增购买⽇期为⼀列
# 转换时间格式
data['update_time']= pd.to_datetime(data['update_time']) data['update_time']
发布评论