数据分析之前我们需要清楚的知道自己想要分析什么东西,也就是先搞清楚我们的目标。在公司可能是公司财报、用户增量变化、产品受欢迎程度、一些报表等等。

那我们今天的目标有哪些呢?我们来看看:

  1. 分析避孕套标题高频关键字

  2. 分析避孕套标题高频关键字 与 商品数量关系

  3. 分析避孕套标题高频关键字 与 平均销量关系

  4. 分析避孕套标题高频关键字 与 平均售价关系

  5. 分析避孕套商品价格区间分布关系

  6. 分析避孕套商品销量区间分布关系

  7. 分析避孕套商品价格区间 与 平均销量关系

  8. 分析避孕套商家数量全国分布关系

  9. 分析避孕套商家全国平均销量关系

注意: 以上数据分析全部基于上次爬取的2500款淘宝商品(默认排序),并不代表淘宝所有避孕套商品!

二、分析实现

有了明确的目标之后,我们就要开始技术选型。

首先数据处理的库这个很好确定,基本就是numpypandas这两个必备的库,所以大家首先确保已经安装了这两个库。

然后数据可视化库呢?这么多可视化库该怎么选?如果你不知道怎么选,那猪哥给你推荐:pyecharts 这个由中国人开发的可视化库,想要什么类型的图在下面文档里面找就行。

中文文档:https://pyecharts.org/#/zh-cn/intro
源码地址:https://github.com/pyecharts/pyecharts

最后技术选型完毕,我们就可以开始正式的敲代码分析了。(分析的标题将和上面的分析目标一一对应)

0.数据清洗

在我们数据分析之前,我们需要对数据进行清洗。因为从淘宝爬取下来的数据并不是标准的数据,比如:商品销量,爬取下来的数据是:2.5万+人付款,我们需要将它转为:25000(整型),这样才方面后面的处理!

我们先来看看从淘宝爬取的原始数据,看看那些数据需要清洗

根据使用库的经验猪哥认为有两列数据需要清洗:1、销量转成整型 2、地区转成只包含省份,具体如何清洗我们直接看代码吧!

大家可以看到最后猪哥又从新生成了一个excel文件,目的就是不去污染原始数据,因为原始数据非常重要,所以我们在以后的数据处理中要尽量保存好原始数据,多备份几个都不多余!

1.分析避孕套标题高频关键字

数据清洗完毕之后,我们就可以开始分析了。

分析标题高频关键字这都是老生常谈的一个流程,也就是使用jieba分词,然后统计词频,最后生成一个词云图,我相信经常看猪哥公众号的同学看都看腻了吧,这种小功能闭着眼睛都会了。

十几行代码就搞定了,我们来看看效果图吧

分析结论:

  1. 从整体看商家取名偏爱情趣二字

  2. 从材质看尿酸的最多

  3. 从功能看颗粒、螺纹的较多

ps:别问猪哥最中意哪个词,问就是延时

2.分析避孕套标题高频关键字 与 商品数量关系

上面我们只看到大概哪些功能受欢迎,如果需要看具体的数据怎么办呢?

我们就来统计一下包含这些高频关键词的商品数据数量吧,代码讲解在图片下方,下同!

我们取最高频的20个关键字,然后遍历所有数据的标题中是否包含其中关键字,如果包含则该关键字的value就+1。来看看生成的柱状图效果吧!

分析结论:

  1. 包含情趣二字的商品有1150款,占到总数(2500款+)的46%。

  2. 前三甲是:情趣、尿酸、颗粒

ps:猪哥有个疑问想请教各位老司机:这个 免洗 是咋玩的?

3.分析避孕套标题高频关键字 与 平均销量关系

这个分析有意思了,就相当于用户更喜欢哪种功能或者材质的套套。

高频关键字与平均销量分析数据的实现方法是,同样遍历所有数据的标题,如果包含某个关键字,则把该项数据的销量放在关键字的value中(一个list),统计完后再对每个关键字的value进行求平均值,最后再根据平均销量排序。来看看效果吧!

分析结论:

  1. 螺纹功能平均销量最高,大家的最爱

  2. 功能平均销量前三分别是:螺纹、颗粒、狼牙

  3. 小号竟然上榜,哈哈

ps:有很多同学问:为什么不是超薄?超薄自己是爽了,可女朋友呢?

4.分析避孕套标题高频关键字 与 平均售价关系

分析完大家喜欢的功能,再来分析下这些功能的价格如何?哪些功能的避孕套比较贵呢?


高频关键字 与 平均售价关系分析原理与上面是相似的,使用的同一个方法,只不过是将原来的销量换成价格,来看看效果图吧!

分析结论:

  1. 可以看到前排几个基本都是关于材质的

  2. 凝胶、透明质、免洗这三项均价最贵,超过100大洋

ps:类似凝胶、透明质、免洗的哪位老司机用过,和一般的有啥区别?

5.分析避孕套商品价格区间分布关系

商品的标题和功能差不多分析完了,我们来分析下价格吧!


猪哥人为的对价格进行了划分,一共分为:’0-20’, ‘21-40’, ‘41-60’, ‘61-80’, ‘81-100’, ‘101-120’, ‘121-150’, ‘151-200’, ‘200以上’这9个区间,然后对数据切割、统计、排序,最后分别生成柱状图和饼图。

分析结论:

  1. 价格区间在21-40的商品最多为778款,大约占比31%。

  2. 价格在一百以内与超过一百的商品比大概为7:1

ps:没想到还有这么多超过100块的,我想问下200块价格的套套是啥感觉?

6.分析避孕套商品销量区间分布关系

分析完价格当然是分析销量区间了



销量区间分布分析实现原理:认为为销量分区,大概分为:’一千以内’, ‘一千到五千’, ‘五千到一万’, ‘一万到五万’, ‘五万到十万’, ‘十万以上’,这六个区间,然后同上方法进行统计、排序最后可视化。

分析结论:

  1. 销量在1000以内的最多,大概占比90%

  2. 销量过万的一共也才10款,说明爆款真的很少

  3. 有一款套套销量竟然超过10万

ps:想知道那款超过10万销量的避孕套商品信息吗?关注猪哥微信公众号「裸睡的猪」回复:爆款套套,即可查看!

7.分析避孕套商品价格区间 与 平均销量关系

假如你是一个避孕套卖家,新推出一款避孕套,你想知道价格定为多少销量才会比较高呢?

这时候我们就可以通过分析价格与商品的销量关系,用实际的数据来定价,这也正是数据分析的价值之一。


商品价格区间 与 平均销量关系分析实现原理是:使用pandas自动分区将价格划分为12个分区,然后对销量数据分组、求平均值,来看看可视化之后的效果。

分析结论:

  1. 定价在31.9-39这个区间平均销量最高,为893

  2. 定价在10元以内的销量竟然高居第二

ps:谁用过10以内一盒的套套,出来走走

8.分析避孕套商家数量全国分布关系

标题、价格、销量都分析过了,最后我们还分析下商家位置的数据。

分析的目标是统计全国各省避孕套商家数量,然后做成热力图和柱状图。

统计商家数量还是比较简单,因为我们之前在数据清洗的时候已经只保留了省份数据,所以直接value_counts()就可以得到想要的数据,看看效果如何!

分析结论:

  1. 避孕套商家前三甲:广东、上海、浙江

ps:贵州四周都有卖套套的,为何就它没有?难道和地理有关?

9.分析避孕套商家全国平均销量关系

分析完商家数后,我们来看看各省的平均销量吧。

商家全国平均销量关系分析实现原理:我们新创建一个透视表并对销量求平均值,然后再排序,最后生成热力图和柱状图。

分析结论:

  1. 出乎意料的是山西39个商家平均销量竟然是第一为1535。

ps:为何山西平均销量是第一?原因是啥真想不通

三、总结

通过上面的数据分析,我们得到了一些有趣的结论:

  1. 用户偏爱螺纹、颗粒、狼牙等功能

  2. 凝胶、透明质、免洗这三项均价最贵,超过100大洋

  3. 价格区间在21-40的商品最多为778款,大约占比31%

  4. 销量在1000以内的最多,大概占比90%

  5. 定价在31.9-39这个区间平均销量最高,为893

  6. 避孕套商家数量前三甲:广东、上海、浙江

  7. 山西省平均销量最高为山西

通过上述分析结果,如果猪哥作为一个避孕套商家,想要推出一款产品,设置标题带螺纹、颗粒、狼牙,价格设置在31.9-39元,这样可能会更畅销一些。

数据分析作为一把利刃,能让你看见别人看不见的事物,如果使用得当完全可以作为你创业的一个重要支点!

最后猪哥再送你一句忠告:想学数据分析,一定要学好pandas!

用Python分析淘宝2000款避孕套,得出这些有趣的结论的更多相关文章

  1. python课件-淘宝-目录.txt

    卷 TOSHIBA EXT 的文件夹 PATH 列表卷序列号为 AE86-8E8DF:.│ python课件-淘宝-目录.txt│ ├─01python核心编程阶段-linux基础(│ linux_h ...

  2. ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法

    ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法 近来正在分析淘宝中商品的信息,效果发生乱码,如: 原因便是中文字符格式发生冲突,ASP.NET MVC 默认采用utf-8,可是淘宝网页采用g ...

  3. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

  4. 用Python分析2000款避孕套,得出这些有趣的结论

    到现在为止,我们的淘宝教程已经写到了第四篇,前三篇分别是: 第一篇:Python模拟登录淘宝,详细讲解如何使用requests库登录淘宝pc端. 第二篇:淘宝自动登录2.0,新增Cookies序列化, ...

  5. python推荐淘宝物美价廉商品

    完成的目标: 输入搜索的商品 以及 淘宝的已评价数目.店铺的商品描述(包括如实描述.服务态度.快递的5.0打分): 按要求,晒选出要求数量的结果,并按"物美价廉算法"排序后输出 思 ...

  6. Python天猫淘宝评论爬虫

    说明 由于Github 打包的exe某些文件上传被.gitignore了,所以不提供windows二进制包 https://github.com/hunterhug/taobaocomment 一个抓 ...

  7. 【py分析】使用SGMLParser分析淘宝html

    SGMLParser Python 默认自带 HTMLParser 以及 SGMLParser 等等解析器,前者实在是太难用了,我就用 SGMLParser 写了一个示例程序: import urll ...

  8. python推荐淘宝物美价廉商品 2.0

    改动: 新增功能 :可选择只看天猫或淘宝 代码模块化封装,参数配置或输入单独在一个py文件管理,主函数功能只留出参数传入在setting配置的py文件里. main.py代码: # -*- codin ...

  9. 使用python调用淘宝的ip地址库查询接口结合zabbix判断dnspod域名解析是否正确

    #encoding:utf-8 import socket import requests import json ''' 使用python结合zabbix判断dnspod域名解析是否正确 服务器分国 ...

随机推荐

  1. python内置函数二

    issubclass(a,b)   判断a类是否属于b的子类    返回为布尔值 locals()   显示局部变量 max()   取最大值 min()   取最小值 zip()    拉链方法  ...

  2. java校招一些面试的题目

    数组和链表的区别 数组静态分配内存,链表动态分配内存: 数组在内存中连续,链表不一定连续: 数组元素在栈区,链表元素在堆区: 数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n) 数 ...

  3. hdu 1533 Going Home 最小费用最大流 (模板题)

    Going Home Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  4. axios和fetch

    前面的vuex提到了异步请求,在vue里异步请求怎么请求呢,很显然jq.ajax是不用了,不是不能用,而是没必要,jq是操作dom的工具,强行用浪费功能,还会加大打包后的体积,而且是没有promise ...

  5. sourcetree的安装

    参考博文: SourceTree安装教程和GitLab配置详解 关于Atlassian无法注册的问题 SourceTree跳过Atlassian账号,免登陆,跳过初始设置 sourcetree跳过注册 ...

  6. 新闻类网站的通用爬虫--GNE

    GNE(GeneralNewsExtractor)是一个通用新闻网站正文抽取模块,输入一篇新闻网页的 HTML, 输出正文内容.标题.作者.发布时间.正文中的图片地址和正文所在的标签源代码.GNE在提 ...

  7. jquery动态选中radio,获取radio选中值

    //动态选中radio值,1:表示radio的name 2:表示后台传过来的radio值$(":radio[name='1'][value='" + 2 + "']&qu ...

  8. delphi关闭和禁用Windows服务

    function StopServices(const SvrName: string): Boolean; var SCH, SvcSCH: SC_HANDLE; SS: TServiceStatu ...

  9. python 文件夹递归

    import ospath = "F:/new" #文件夹目录datas = []def eachFile(filepath): fileNames = os.listdir(fi ...

  10. 三、深入Vue组件——Vue插槽slot、动态组件

    一.插槽slot() 1.1简单插槽slot [功能]用于从父组件中,通过子组件写成双标签,向子组件中放入自定的内容 parent.vue [1]首先把child写成双标签样式,把要插入的内容放双标签 ...