用Python分析2000款避孕套,得出这些有趣的结论
到现在为止,我们的淘宝教程已经写到了第四篇,前三篇分别是:
- 第一篇:Python模拟登录淘宝,详细讲解如何使用requests库登录淘宝pc端。
- 第二篇:淘宝自动登录2.0,新增Cookies序列化,教大家如何将cookies保存起来。
- 第三篇:Python爬取淘宝商品避孕套,教大家如何爬取淘宝pc端商品信息。
今天,我们来看看淘宝系列的第四篇
我们在上一篇的时候已经将淘宝数据爬取下来了,但是并没有做数据分析。所以今天这篇文章就是教大家如何去分析数据,得出一些有用的结论!
Python语言相比其他语言的优势在哪里?猪哥认为是数据分析和人工智能这两大块,而且这两个方向需求会慢慢增大,所以那些想学习Python却不知道要朝着哪个目标学习的同学可以考虑往这两个方向发展!
一、分析目标
数据分析之前我们需要清楚的知道自己想要分析什么东西,也就是先搞清楚我们的目标。在公司可能是公司财报、用户增量变化、产品受欢迎程度、一些报表等等。
那我们今天的目标有哪些呢?我们来看看:
- 分析避孕套标题高频关键字
- 分析避孕套标题高频关键字 与 商品数量关系
- 分析避孕套标题高频关键字 与 平均销量关系
- 分析避孕套标题高频关键字 与 平均售价关系
- 分析避孕套商品价格区间分布关系
- 分析避孕套商品销量区间分布关系
- 分析避孕套商品价格区间 与 平均销量关系
- 分析避孕套商家数量全国分布关系
- 分析避孕套商家全国平均销量关系
注意: 以上数据分析全部基于上次爬取的2500款淘宝商品(默认排序),并不代表淘宝所有避孕套商品!
二、分析实现
有了明确的目标之后,我们就要开始技术选型。
首先数据处理的库这个很好确定,基本就是numpy和pandas这两个必备的库,所以大家首先确保已经安装了这两个库。
然后数据可视化库呢?这么多可视化库该怎么选?如果你不知道怎么选,那猪哥给你推荐:pyecharts 这个由中国人开发的可视化库,想要什么类型的图在下面文档里面找就行。
中文文档:https://pyecharts.org/#/zh-cn/intro
源码地址:https://github.com/pyecharts/pyecharts
最后技术选型完毕,我们就可以开始正式的敲代码分析了。(分析的标题将和上面的分析目标一一对应)
0.数据清洗
在我们数据分析之前,我们需要对数据进行清洗。因为从淘宝爬取下来的数据并不是标准的数据,比如:商品销量,爬取下来的数据是:2.5万+人付款,我们需要将它转为:25000(整型),这样才方面后面的处理!
我们先来看看从淘宝爬取的原始数据,看看那些数据需要清洗

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

大家可以看到最后猪哥又从新生成了一个excel文件,目的就是不去污染原始数据,因为原始数据非常重要,所以我们在以后的数据处理中要尽量保存好原始数据,多备份几个都不多余!
1.分析避孕套标题高频关键字
数据清洗完毕之后,我们就可以开始分析了。
分析标题高频关键字这都是老生常谈的一个流程,也就是使用jieba分词,然后统计词频,最后生成一个词云图,我相信经常看猪哥公众号的同学看都看腻了吧,这种小功能闭着眼睛都会了。

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

分析结论:
- 从整体看商家取名偏爱情趣二字
- 从材质看尿酸的最多
- 从功能看颗粒、螺纹的较多
ps:别问猪哥最中意哪个词,问就是延时。
2.分析避孕套标题高频关键字 与 商品数量关系
上面我们只看到大概哪些功能受欢迎,如果需要看具体的数据怎么办呢?
我们就来统计一下包含这些高频关键词的商品数据数量吧,代码讲解在图片下方,下同!

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

分析结论:
- 包含情趣二字的商品有1150款,占到总数(2500款+)的46%。
- 前三甲是:情趣、尿酸、颗粒
ps:猪哥有个疑问想请教各位老司机:这个 免洗 是咋玩的?
3.分析避孕套标题高频关键字 与 平均销量关系
这个分析有意思了,就相当于用户更喜欢哪种功能或者材质的套套。


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

分析结论:
- 螺纹功能平均销量最高,大家的最爱
- 功能平均销量前三分别是:螺纹、颗粒、狼牙
- 小号竟然上榜,哈哈
ps:有很多同学问:为什么不是超薄?超薄自己是爽了,可女朋友呢?
4.分析避孕套标题高频关键字 与 平均售价关系
分析完大家喜欢的功能,再来分析下这些功能的价格如何?哪些功能的避孕套比较贵呢?


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

分析结果:
- 可以看到前排几个基本都是关于材质的
- 凝胶、透明质、免洗这三项均价最贵,超过100大洋
ps:类似凝胶、透明质、免洗的哪位老司机用过,和一般的有啥区别?
5.分析避孕套商品价格区间分布关系
商品的标题和功能差不多分析完了,我们来分析下价格吧!


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


分析结论:
- 价格区间在21-40的商品最多为778款,大约占比31%。
- 价格在一百以内与超过一百的商品比大概为7:1
ps:没想到还有这么多超过100块的,我想问下200块价格的套套是啥感觉?
6.分析避孕套商品销量区间分布关系
分析完价格当然是分析销量区间了


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


分析结论:
- 销量在1000以内的最多,大概占比90%
- 销量过万的一共也才10款,说明爆款真的很少
- 有一款套套销量竟然超过10万
ps:想知道那款超过10万销量的避孕套商品信息吗?关注猪哥微信公众号「裸睡的猪」回复:爆款套套,即可查看!
7.分析避孕套商品价格区间 与 平均销量关系
假如你是一个避孕套卖家,新推出一款避孕套,你想知道价格定为多少销量才会比较高呢?
这时候我们就可以通过分析价格与商品的销量关系,用实际的数据来定价,这也正是数据分析的价值之一。

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

分析结论:
- 定价在31.9-39这个区间平均销量最高,为893
- 定价在10元以内的销量竟然高居第二
ps:谁用过10以内一盒的套套,出来走走
8.分析避孕套商家数量全国分布关系
标题、价格、销量都分析过了,最后我们还分析下商家位置的数据。
分析的目标是统计全国各省避孕套商家数量,然后做成热力图和柱状图。

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


分析结论:
- 避孕套商家前三甲:广东、上海、浙江
ps:贵州四周都有卖套套的,为何就它没有?难道和地理有关?
9.分析避孕套商家全国平均销量关系
分析完商家数后,我们来看看各省的平均销量吧。

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


分析结论:
- 出乎意料的是山西39个商家平均销量竟然是第一为1535。
ps:为何山西平均销量是第一?原因是啥真想不通
三、总结
通过上面的数据分析,我们得到了一些有趣的结论:
- 用户偏爱螺纹、颗粒、狼牙等功能
- 凝胶、透明质、免洗这三项均价最贵,超过100大洋
- 价格区间在21-40的商品最多为778款,大约占比31%
- 销量在1000以内的最多,大概占比90%
- 定价在31.9-39这个区间平均销量最高,为893
- 避孕套商家数量前三甲:广东、上海、浙江
- 山西省平均销量最高为山西
通过上述分析结果,如果猪哥作为一个避孕套商家,想要推出一款产品,设置标题带螺纹、颗粒、狼牙,价格设置在31.9-39元,这样可能会更畅销一些。
数据分析作为一把利刃,能让你看见别人看不见的事物,如果使用得当完全可以作为你创业的一个重要支点!
最后猪哥再送你一句忠告:想学数据分析,一定要学好pandas!!!
获取源码:关注微信公众号「裸睡的猪」回复:分析套套 即可获取!
用Python分析2000款避孕套,得出这些有趣的结论的更多相关文章
- 用Python分析淘宝2000款避孕套,得出这些有趣的结论
数据分析之前我们需要清楚的知道自己想要分析什么东西,也就是先搞清楚我们的目标.在公司可能是公司财报.用户增量变化.产品受欢迎程度.一些报表等等. 那我们今天的目标有哪些呢?我们来看看: ! 分析避孕套 ...
- 五月天的线上演唱会你看了吗?用Python分析网友对这场线上演唱会的看法
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:CDA数据分析师 豆瓣9.4分!这场线上演唱会到底多好看? 首先让我 ...
- 用Python分析国庆旅游景点,告诉你哪些地方好玩、便宜、人又少
注:本人参考“裸睡的猪”公众号同名文章,学习使用. 一.目标 使用Python分析出国庆哪些旅游景点:好玩.便宜.人还少的地方,不然拍照都要抢着拍! 二.获取数据 爬取出行网站的旅游景点售票数据,反映 ...
- python 分析慢查询日志生成报告
python分析Mysql慢查询.通过Python调用开源分析工具pt-query-digest生成json结果,Python脚本解析json生成html报告. #!/usr/bin/env pyth ...
- Python分析盘点2019全球流行音乐:是哪些歌曲榜单占领了我们?
写在前面:圣诞刚过,弥留者节日气息的大家是否还在继续学习呐~在匆忙之际也不忘给自己找几首好听的歌曲放松一下,缠绕着音乐一起来看看关于2019年流行音乐趋势是如何用Python分析的吧! 昨天下午没事儿 ...
- Python分析数据难吗?某科技大学教授说,很难但有方法就简单
用python分析数据难吗?某科技大学的教授这样说,很难,但要讲方法,主要是因为并不是掌握了基础,就能用python来做数据分析的. 所谓python的基础,也就是刚入门的python学习者,学习的基 ...
- Python分析离散心率信号(下)
Python分析离散心率信号(下) 如何使用动态阈值,信号过滤和离群值检测来改善峰值检测. 一些理论和背景 到目前为止,一直在研究如何分析心率信号并从中提取最广泛使用的时域和频域度量.但是,使用的信号 ...
- Python分析离散心率信号(中)
Python分析离散心率信号(中) 一些理论和背景 心率信号不仅包含有关心脏的信息,还包含有关呼吸,短期血压调节,体温调节和荷尔蒙血压调节(长期)的信息.也(尽管不总是始终如一)与精神努力相关联,这并 ...
- Python分析离散心率信号(上)
Python分析离散心率信号(上) 一些理论和背景 心率包含许多有关信息.如果拥有心率传感器和一些数据,那么当然可以购买分析包或尝试一些可用的开源产品,但是并非所有产品都可以满足需求.也是这种情况.那 ...
随机推荐
- vue+element搭建后台管理界面(支持table条件搜索)
代码地址(如果有帮助,请点个Star) vue:https://github.com/wwt729/ElementUIAdmin-master.git springboot后端:https://git ...
- 使用PIP键盘输入数字小数位--Smart LCD
应用范例: 使用TOPWAY Smart LCD (HMT050CC-C) 使用PIP键盘输入数字小数位 第一步 建立工程 第二步 建立三个页面,导入图片 点击工作区域, 右面显示页面属性 属性中Ba ...
- Alfred上可提高工作效率的Workflow推荐
温馨提示:本文中Alfred是Mac平台的工具,不适用于其他平台. Alfred是Mac平台上被很多人吹爆的一款效率提升软件,我刚毕业工作的时候就看到公司内网有人推荐,但没有尝试. 后来我跳槽后自己买 ...
- 12-Factor,构建原生软件应用方法论
官方地址:https://12factor.net/zh_cn/ 原则1:一份基准代码,多份部署 这个原则不管对微服务模式还是其他软件开发模式来说都非常基本,所以被列为12原则的第一条,该原则包括如下 ...
- Unity进阶之ET网络游戏开发框架 08-深入登录成功消息
版权申明: 本文原创首发于以下网站: 博客园『优梦创客』的空间:https://www.cnblogs.com/raymondking123 优梦创客的官方博客:https://91make.top ...
- 小白学Python(7)——利用Requests下载网页图片、视频
安装 Requests 如果安装了Requests就已经可用了,否则要安装 Requests,只要在你的CMD中运行这个简单命令即可: pip install requests requests使用 ...
- 【MySql】linux下,设置mysql表名忽略大小写
[障碍再现] 状况描述01: 在LINUX下调一个程序经常报出找不到表,但是我明明是建了表的, 测试的时候,遇到一些问题,从Windows平台访问虚拟机中的Web应用,经常报出找不到表 ...
- CRNN+CTC (基于CTPN 的end-to-end OCR)
1. https://zhuanlan.zhihu.com/p/43534801 (详细原理) 2. https://blog.csdn.net/forest_world/article/detai ...
- 用代码说话:如何在Java中实现线程
并发编程是Java语言的重要特性之一,"如何在Java中实现线程"是学习并发编程的入门知识,也是Java工程师面试必备的基础知识.本文从线程说起,然后用代码说明如何在Java中实现 ...
- 2019nc#10
题号 标题 已通过代码 题解/讨论 通过率 团队的状态 A Blackjack 点击查看 背包DP 32/109 补好了 B Coffee Chicken 点击查看 进入讨论 738/2992 通过 ...