距离国庆中秋8天的假期没几天了,朋友圈各家大厂都开始秀自家定制的中秋月饼礼盒,假期要走亲访友的手里也少不了要提一盒月饼。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:961562169
文章图片
每年中秋节到,总会去姥姥那里送中秋,并买上各种各样的月饼,那个时候科技并不怎么发达,不仅没有这么多形形色色的月饼,也不知道哪些月饼卖得好? 月饼的价格分布是怎样的呢? 什么地方的月饼销量比较高呢? 简直有十万个为什么,希望别人给我们解答。
随着科技的飞速发展,互联网沟通了你我他。通过淘宝上月饼的销量,就可以解决我们想要知道的好多问题。基于此,我爬取了淘宝上4000多条月饼的销售数据,为大家展示了一幅漂亮的可视化分析仪表板,解决大家心目中的问题。
文章图片
可视化大屏效果展示
数据采集
这次爬取淘宝,采用的是最简单的方式:Selenium控制Chrome浏览器进行自动化操作,中途只需要扫码登陆一次,即可完成整个数据的爬取。
这种方法极其好用,不会出现封IP、封号的情况,大家放心使用!
大家运行这个代码之前,唯一要做的就是下载与谷歌版本相对应的chromedriver驱动,然后进行相关配置即可。其实关于淘宝整个数据爬取的过程,我之前为大家写了一篇很详细的文章,供大家参考。
部分爬虫代码如下:
- from selenium import webdriver
- # 搜索商品,获取商品页码def search_product(key_word):# 定位输入框browser.find_element_by_id("q").send_keys(key_word)
- # 定义点击按钮,并点击browser.find_element_by_class_name('btn-search').click()
- # 最大化窗口:为了方便我们扫码browser.maximize_window()# 等待15秒,给足时间我们扫码
- time.sleep(15)
- # 定位这个“页码”,获取“共100页这个文本”
- page_info = browser.find_element_by_xpath('//div[@class="total"]').text
- # 需要注意的是:findall()返回的是一个列表,虽然此时只有一个元素它也是一个列表。page = re.findall("(\d+)",page_info)[0]
- return page
数据清洗很重要,这个对于我们后续做可视化展示,极其重要。因此我们需要根据后面要做的图形,然后进行对应的进行数据清洗。
爬取到的原始数据如下:
文章图片
【数据分析|Python分析淘宝月饼销售数据,五仁月饼王者地位不可动摇】原始数据
整个数据看上去算是比较干净,但是还是有几个地方值得我们处理一下。
- 爬取到的原始数据没有列名,我们需要添加一个新列名;
- 整个爬虫过程中,会出现重复数据,我们需要提前去重处理;
- 将购买人数为空的记录,替换成0人付款;
- 将购买人数转换为销量(注意部分单位为万);
- 删除无发货地址的商品,并提取其中的省份;
- # 提取数值
- df['num'] = [re.findall(r'(\d+\.{0,1}\d*)', i)[0] for i in df['付款人数']]# 提取数值
- df['num'] = df['num'].astype('float')# 转化数值型
- # 提取单位(万)df['unit'] = [''.join(re.findall(r'(万)', i)) for i in df['付款人数']]# 提取单位(万)
- df['unit'] = df['unit'].apply(lambda x:10000 if x=='万' else 1)
- # 计算销量df['销量'] = df['num'] * df['unit']
文章图片
数据清洗后的数据
可视化展示
可视化是整个文章的亮点所在,所谓“字不如表、表不如图”。整个可视化分析我们基于以下五个问题开展而来。
- 月饼销量Top10的柱形图;
- 店铺月饼销量Top10的柱形图;
- 全国月饼销量的地域分布地图;
- 不同价格区间的月饼销量圆环图;
- 月饼销售关键字的词云图;
1、月饼销量Top10的柱形图
文章图片
结论分析:销量Top10的月饼,其实对于我们选购月饼还是挺有指导意义的。从图中可以看到这个稻香村月饼,卖的还是极其好的,销量排名前10的产品中,稻香村月饼占据了3个位置。还有一个名字特别熟悉:五芳斋,只知道他家的粽子做的好,原来月饼也做的不错,所以说品牌效应还是很好的。那么你是否可以再看看,这些店里面是否有其他更好吃的点心呢?
2、店铺月饼销量Top10的柱形图
文章图片
结论分析:这里图中显示的结果,和第一张图显示的结果不谋而合,就不再过多的解释了。唯独感兴趣的还是这个稻香村,为啥销量如此好?百度一下得知原来是一家百年老店,附带一张图如下。
文章图片
3、全国月饼销量的地域分布地图
文章图片
结论分析:从图中可以看出,广东、浙江、山东、福建、北京的月饼销量,在全国都是遥遥领先的。查阅资料可以发现,它们几乎都有自己的品牌,像广东的广式月饼、浙江的衢式月饼、山东的鲁式月饼等。广式月饼重油重糖、京式月饼重油轻糖、鲁式月饼口味清淡、苏式月饼重甜。大家可以根据自己的需求,给亲戚长辈们合理挑选符合口味的月饼哦。
4、不同价格区间的月饼销量圆环图
文章图片
结论分析:当然价格才是大家关注的焦点。观察上图可以发现,月饼的价格几乎是处在中间的、能被大家接受的范围(22-115),再稍微贵一点的就是115-633这个区间(还可以接受),而处在633元以上的月饼几乎为0。毕竟中秋节是一个传统节日,适中的价格才能被大家接受,利润就这么几天,薄利多销才是王道。
5、月饼销售关键字的词云图
文章图片
结论分析:从图中可以看出,传统的四大月饼(京式月饼、广式月饼、滇式月饼、苏式月饼)中广式月饼极其受欢迎(PS:我还没吃过),月饼口味上,小时候经常吃的五仁月饼的王者地位不可动摇,豆沙月饼提及率也很高,一直是很多孩子的最爱!还有现在出来的各种各样的新鲜口味,像美心、酥皮、心奶、燕窝、白莲等等,你到底喜欢哪一个呢?
推荐阅读
- python|中秋味的可视化大屏 【以python pyecharts为工具】
- python|使用python的trapz做采样数值计算得出积分结果
- #|电力系统的延时功率流 (CPF)的计算【 IEEE-14节点】(Matlab代码实现)
- 电力系统分析|电力系统分析工具包pypower简易使用教程
- Python|【20211129】【Python】使用Python计算欧氏距离的方法
- python|博客目录索引
- eventlet 的 link 函数用法
- Python统计学|Python统计学03——随机变量的概率分布
- 算法|opencvcv4.0