一、数据分析目的

优衣库(英文名称:UNIQLO,日文假名发音:ユニクロ),为日本迅销公司的核心品牌,建立于1984年,当年是一家销售西服的小服装店,现已成为国际知名服装品牌。优衣库现任董事长兼总经理柳井正在日本首次引进了大卖场式的服装销售方式,通过独特的商品策划、开发和销售体系来实现店铺运作的低成本化,由此引发了优衣库的热卖潮。
优衣库(Uniqlo)的内在涵义是指通过摒弃了不必要装潢装饰的仓储型店铺,采用超市型的自助购物方式,以合理可信的价格提供顾客希望的商品价廉物美的休闲装“UNIQLO”是UniqueClothing Warehouse的缩写,意为消费者提供“低价良品、品质保证”的经营理念,在日本经济低迷时期取得了惊人的业绩。

数据来源:数据集来自往网上公开的数据,是一份有关优衣库销售数据(链接:https://pan.baidu.com/s/1VsGtuGm2hyVBmuIQ4CMh8g 提取码:apvl ) 共有22294条记录,13个字段

本文,将根据优衣库的销售数据,利用Python进行可视化,了解优衣库门店的销售情况,并回答如下问题:

1.整体销售情况随着时间的变化是怎样的?

2.不同产品的销售情况是怎样的?

3.顾客偏爱哪一种购买方式?

4.销售额和产品成本之间的关系怎么样?

二、数据分析基本过程

1、理解数据

2、数据获取与数据概况查看


# 导入相关包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline#数据读取
uniqlo = pd.read_csv(r'C:\Users\25466\Desktop\uniqlo.csv')#查看数值信息
uniqlo .describe()

# 数据预览
uniqlo.sample(5)# 数据结构查看
uniqlo.info()

3. 数据分析

问题一:整体销售情况随着时间的变化是怎么样的?

对销售按照时间维度来分析

数据:
时间维度:购买发生的时间(周末or周中)wkd_ind
销售数据:顾客人数customer、销售金额revenue、订单数量order、销售数量quant,
通常情况下分析的是销售额

方法:生成柱状图进行可视化

关键操作&核心代码:
柱状图:sns.barplot(),谁是x,谁是y,bar是什么含义?

# 销售额随时间的变化
plt.figure(figsize=(6,5))
sns.barplot(x='wkd_ind',y='revenue',data=uniqlo)

# uniqlo.groupby('wkd_ind')['revenue'].describe()
uniqlo.groupby('wkd_ind').revenue.describe()


业务解读: 工作日的销售额均值高于周末的销售额度均值。

问题二:不同产品的销售情况是怎样的?顾客偏爱哪一种购买方式?

对销售情况按照产品维度、顾客维度来分析

数据:
顾客维度:不同城市city,性别gender_group、年龄段age_group、渠道购买方式channel(线上or线下)
产品维度:产品类别product,产品成本unit_cost
销售数据:销售金额revenue

方法:生成柱状图进行可视化

关键操作&核心代码:
柱状图:sns.barplot()

注意点:
1.如何排序:order = uniqlo.groupby(‘product’).revenue.mean().sort_values(ascending = False).index
2.顾客偏爱哪一购买方式,比较的是购买方式,作为hue分类别;而不同的顾客有不同的购买方式,作为x,分组展示;偏爱可以用销售额还体现

uniqlo.groupby(['product']).revenue.describe()

plt.figure(figsize=(6,5))
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
sns.barplot(x='product',y='revenue',data=uniqlo)

# 按照revenue给分类排序uniqlo.groupby(['product']).revenue.mean().sort_values(ascending = False).index#order=app['prime_genre'].value_counts().index)


plt.figure(figsize=(6,5))
sns.barplot(x='product',y='revenue',data =uniqlo,order = uniqlo.groupby(['product']).revenue.mean().sort_values(ascending = False).index)


业务解读: 毛衣、配件的平均销售额最高,短裤和袜子的平均销售最低。

# 不同城市的顾客,线上、线下方式的对比plt.figure(figsize=(8,6))
sns.barplot(x='city',y= 'revenue',hue ='channel',data = uniqlo,estimator = sum,order =uniqlo.groupby('city').revenue.sum().sort_values(ascending=False).index)


业务解读: 没有深圳、杭州、成都、南京、北京的线上数据,需要确认数据来源是否可靠,找出缺失的原因及对策。

从销售额总额角度看,除广州外,武汉、上海、重庆、西安的顾客更偏好线下购物。
同样,也可以看销售总量,以及平均情况,在此不做赘述。

# 1.不同性别的顾客,线上、线下方式的对比
plt.figure(figsize=(8,6))
sns.barplot(x='gender_group',y= 'revenue',hue ='channel',data = uniqlo,estimator =sum,order =uniqlo.groupby('gender_group').revenue.sum().sort_values(ascending=False).index)
#报错:SyntaxError: unexpected EOF while parsing,括号没打

# 2.不同年龄段的顾客,线上、线下方式的对比
plt.figure(figsize=(8,6))
sns.barplot(x='age_group',y= 'revenue',hue ='channel',data = uniqlo,estimator =sum,order =uniqlo.groupby('age_group').revenue.sum().sort_values(ascending=False).index)


业务解读:购买行为更多发生在20-40岁的顾客之间。与线上相比,各个年龄段组的顾客更喜欢在线下购买。

问题三:销售额和产品成本之间的关系是什么样的?

数据:
总销售额为revenue,销售数量quant,单价成本unit_cost,
单价销售额 = revenue/quant,
比较单件销售额和单价成本

思路一:
单件产品销售额 - 成本 为利润margin,margin是如何分布的?是否存在亏本销售的产品

关键操作:以产品类型x,margin为y,生成箱型图进行可视化可以看到分布情况

思路二:
探究实际销售额和产品成本之间的关系,即为求它们之间的相关,
若成正相关,则产品成本越高,销售额越高,或许为高端产品;若为负相关,销售额越高,
为薄利多销的模式。

关键操作:
计算单件销售额和单件产品成本之间的相关性,corr(),sns.heatmap()热力图可视化


# 新增'利润'字段
uniqlo['margin']= uniqlo.unit_price - uniqlo.unit_cost
uniqlo.head()# 注意:新增一列的写法,不能写成uniqlo.margin


plt.figure(figsize=(8,6))
sns.barplot(x='product',y= 'margin',data = uniqlo,order =uniqlo.groupby('product').margin.mean().sort_values(ascending=False).index)


# 不同产品的利润分布
import matplotlib.pyplot as plt
plt.rcParams['axes.unicode_minus']=False # 纵轴无法显示负号问题plt.figure(figsize=(8,10))
sns.boxplot(x='product',y='margin',data=uniqlo,order =uniqlo.groupby('product').margin.mean().sort_values(ascending=False).index)


**业务解读:**毛衣、裙子和配件的平均利润高;

毛衣在箱型图的异常集中在尾部,说明优衣库经常进行毛衣促销活动。


# 计算单价销售额和单件产品成本之间的相关性
q = ['margin','unit_price','unit_cost'] #列选择
uniqlo[q].corr()

# 热力图
plt.figure(figsize=(8,6))
sns.heatmap(uniqlo[q].corr())

Python项目:分析优衣库产品销售数据相关推荐

  1. python产品质量分析_产品评论 使用Python分析Amazon Smart产品评论

    在万物互联时代,智能产品正在推动智能生活的迅速普及.专注于广阔的智能产品市场,亚马逊一直致力于扩大其智能产品阵容.作为典型的跨境电子商务B2C平台 一.明确目标 建模和分析Amazon智能产品评论,探 ...

  2. Python项目实战 —— 04. 淘宝用户行为分析

    Python项目实战 Python项目实战--目录 Python项目实战 -- 04. 淘宝用户行为分析 一.背景 二.解题思路 三.数据分析 3.1 数据清洗 3.2 数据分析 3.2.1 用户整体 ...

  3. 实例 | 分析38万条数据,用Python分析保险产品交叉销售和哪些因素有关

    公众号后台回复"图书",了解更多号主新书内容  CDA数据分析师 出品   作者:真达.Mika 数据:真达   [导读] 今天教大家用Python分析保险产品交叉销售和哪些因素有 ...

  4. Python项目之企业审批流绩效分析分析应用2

    在上一篇博文Python项目之企业审批流绩效分析分析应用1的源码基础上,发现统计出的词频需要做一些纠偏. 1.实际统计的时候,只按词库中的标准名词是不够说明问题,我们希望按照自定义的词组搭配进行自动切 ...

  5. Python项目实战:使用PySpark对大数据进行分析

    Python项目实战:使用PySpark对大数据进行分析 大数据,顾名思义就是大量的数据,一般这些数据都是PB级以上.PB是数据存储容量的单位,它等于2的50次方个字节,或者在数值上大约等于1000个 ...

  6. python有趣小项目源码分析_推荐 10 个有趣的 Python 项目

    想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...

  7. Python分析电商销售数据

    python数据分析作业记录 本文原文件通过百度网盘分享 链接:https://pan.baidu.com/s/1XeBiANMxgLxQu7Qf9ejomg 提取码:evzt 作业要求 1.读取da ...

  8. python项目了解_神级程序员都是这样来开源 Python 项目!今天算是涨知识了!

    工具和概念 项目布局 当准备一个项目时,正确合理的布局(目录结构)是十分重要的.一个合理的布局意味着想参与开发者不必花时间来寻找某些代码的位置; 凭直觉就可以找到文件的位置.因为我们在处理一个项目,就 ...

  9. 70+Python项目,面向初学者、中级和经验丰富的开发人员

    建立动手项目将帮助您获得实用的编码技能.一步一步,你将把你的理论知识运用和建立一个令人印象深刻的投资组合.如果您是一名经验丰富的Python开发人员,您可能已经听说并搜索了以下问题:"对于初 ...

最新文章

  1. Linux操作系统中内存buffer和cache的区别
  2. 实现全屏轮播,并且轮播div中的文字盒子一直自动垂直居中
  3. 2016年6月TIOBE编程语言排行榜:涨幅最大的名字很长
  4. 剑指offer第二版-9.用两个栈实现队列
  5. C语言实现通用链表初步(三)----单元测试
  6. 语言结构体在内存的分布_结构体内存对齐,这篇文章给你彻底搞会!(干货收藏)...
  7. C#中ManualResetEvent用法简介
  8. E - The Imp(博弈/动态规划)
  9. mplayer 所支持的音视频编解码
  10. 基于C++与VS2012的HDF5文件处理(一)
  11. Android 7.0后 播放U盘中的视频文件的解决方案
  12. class加载原理和Dex加载的原理-----android插件化技术
  13. window下安装sonar
  14. 2022年 品牌新零售将去向何方?
  15. 为什么用虚拟机做服务器,虚拟机的优势:保留虚拟机的4个理由
  16. java welcome-file_通过JSF项目中的welcome-file设置默认主页
  17. Jupyter的安装和使用(windows)
  18. 给C/C++/Java等程序生成API文档
  19. RabbitMQ使用实践
  20. 基于AT89C51及Proteus仿真的室内火灾监测装置

热门文章

  1. oracle导出导入工具expdp/impdp
  2. 安卓音视频基础:AudioRecord和AudioTrack的简单使用
  3. t3计算机修改名称后无法登录,安装用友通T3时提示“计算机名称不符”?
  4. 一种分布式集群扩展模块:Epuck2 测距板Range and bearing
  5. 剑指无界零售,周伯文挂帅京东AI三大主力部门曝光
  6. Tomcat启动成功能访问主页面但是不能访问应用解决办法
  7. 用python判断一个树是否为素数(质数)
  8. 为什么 IT 行业比机械制造业工资高很多?
  9. lodop页面直接打印 水印 分页 套打
  10. VS019下的VSColorOutput插件,可以改变vs输出窗口的颜色