用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分析离散心率信号(上) 一些理论和背景 心率包含许多有关信息.如果拥有心率传感器和一些数据,那么当然可以购买分析包或尝试一些可用的开源产品,但是并非所有产品都可以满足需求.也是这种情况.那 ...
随机推荐
- Excel批量导入(导出同理)
在做JavaWeb中添加数据使我们在所难免会遇到的,在大数据的环境下批量添加和批量删除是必须的,而批量删除只需要获取到我们需要删除的ID就可以了,在批量添加中我们就会遇到问题,问题是得到批量的数据,这 ...
- 开发规范 小白进阶 python代码规范化
开发规范 软件开发,规范项目的目录结构,代码规范,遵循 PeP8规范等等,让你更加清晰的,合理开发 一功能分类(文件名) settings.py配置文件 配置文件放一些静态参数, 划归固定的路径,文件 ...
- Scrapy爬虫框架学习
一.Scrapy框架简介 1. 下载页面 2. 解析 3. 并发 4. 深度 二.安装 linux下安装 pip3 install scrapy windows下安装 a.pip3 install w ...
- LoRaWAN stack移植笔记(六)_调试2
前言 调试的过程中碰到的问题基本都是以前没有遇到过的,而且需要对整个协议栈及射频方面的工作流程较熟悉才能找到问题的原因,需要多读SX1276的数据手册以及与射频芯片的物理层通信例程和MAC层通信例程进 ...
- Spring中的循环依赖解决详解
前言 说起Spring中循环依赖的解决办法,相信很多园友们都或多或少的知道一些,但当真的要详细说明的时候,可能又没法一下将它讲清楚.本文就试着尽自己所能,对此做出一个较详细的解读.另,需注意一点,下文 ...
- mybatis+spring+springMVC处理org.springframework.beans.factory.BeanDefinitionStoreException:java.lang.IllegalArgumentException异常
java.lang.IllegalArgumentException异常有三种情况 org.springframework.beans.factory.BeanDefinitionStoreExcep ...
- net core天马行空系列:原生DI+AOP实现spring boot注解式编程
写过spring boot之后,那种无处不在的注解让我非常喜欢,比如属性注入@autowire,配置值注入@value,声明式事物@Transactional等,都非常简洁优雅,那么我就在想,这些在n ...
- Docker学习总结(三)--常用命令
镜像相关命令 查看镜像 docker images 返回列表字段含义如下: 字段名称 字段含义 REPOSITORY 镜像名称 TAG 镜像标签 IMAGE ID 镜像 ID CREATED 镜像创建 ...
- 一键部署 Spring Boot 到远程 Docker 容器,就是这么秀!
不知道各位小伙伴在生产环境都是怎么部署 Spring Boot 的,打成 jar 直接一键运行?打成 war 扔到 Tomcat 容器中运行?不过据松哥了解,容器化部署应该是目前的主流方案. 不同于传 ...
- C++11——智能指针
1. 介绍 一般一个程序在内存中可以大体划分为三部分——静态内存(局部的static对象.类static数据成员以及所有定义在函数或者类之外的变量).栈内存(保存和定义在函数或者类内部的变量)和动态内 ...