Python实战 | 送亲戚,送长辈,月饼可视化大屏来帮忙!

中秋节介绍

中秋节,又称祭月节、月光诞、月夕、秋节、仲秋节、拜月节、月娘节、月亮节、团圆节等,是中国民间的传统节日。

中秋节自古便有祭月、赏月、吃月饼、玩花灯、赏桂花、饮桂花酒等民俗,流传至今,经久不息。

每年中秋节到,总会去姥姥那里送中秋,并买上各种各样的月饼,那个时候科技并不怎么发达,不仅没有这么多形形色色的月饼,也不知道哪些月饼卖得好? 月饼的价格分布是怎样的呢? 什么地方的月饼销量最高呢? 简直有十万个为什么,希望别人给我们解答。

随着科技的飞速发展,互联网沟通了你我他。通过淘宝上月饼的销量,就可以解决我们想要知道的好多问题。基于此,我爬取了淘宝上4000多条月饼的销售数据,为大家展示了一幅漂亮的可视化大屏,解决大家心目中的问题。

图片

可视化大屏效果展示

数据采集

这次爬取淘宝,采用的是最简单的方式:Selenium控制Chrome浏览器进行自动化操作,中途只需要扫码登陆一次,即可完成整个数据的爬取。

这种方法及其好用,不会出现封IP、封号的情况,大家放心使用!

大家运行这个代码之前,唯一要做的就是下载与谷歌版本相对应的chromedriver驱动,然后进行相关配置即可。其实关于淘宝整个数据爬取的过程,我之前为大家写了一篇很详细的文章,供大家参考。

淘宝爬虫完整讲述: http://suo.im/6vwBc8

部分爬虫代码如下:

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

数据清洗

数据清洗很重要,这个对于我们后续做可视化展示,极其重要。因此我们需要根据后面要做的图形,然后进行对应的进行数据清洗。

爬取到的原始数据如下:

图片

原始数据

整个数据看上去算是比较干净,但是还是有几个地方指的我们处理一下。

  1. 爬取到的原始数据没有列名,我们需要添加一个新列名;
  2. 整个爬虫过程中,会出现重复数据,我们需要提前去重处理;
  3. 将购买人数为空的记录,替换成0人付款;
  4. 将购买人数转换为销量(注意部分单位为万);
  5. 删除无发货地址的商品,并提取其中的省份;

数据清洗部分代码如下:

# 提取数值
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']

现在来看看,清洗后的数据是啥样的?

图片

数据清洗后的数据

可视化展示

可视化是整个文章的亮点所在,所谓 “字不如表、表不如图” 。整个可视化大屏我们基于以下五个问题开展而来。

  1. 月饼销量Top10的柱形图;
  2. 店铺月饼销量Top10的柱形图;
  3. 全国月饼销量的地域分布地图;
  4. 不同价格区间的月饼销量圆环图;
  5. 月饼销售关键字的词云图;

鉴于整个文章排版,本文可视化部分的代码均可在本文末尾获取。

1)月饼销量Top10的柱形图

图片

结论分析: 销量Top10的月饼,其实对于我们选购月饼还是挺有指导意义的。从图中可以看到这个稻香村月饼,买的还是极其好的,销量排名前10的产品中,稻香村月饼占据了3个位置。还有一个名字特别熟悉:五芳斋,只知道他家的粽子做的好,原来月饼也做的不错,所以说品牌效应还是很好的。那么你是否可以再看看,这些店里面是否有其他更好吃的点心呢?

2)店铺月饼销量Top10的柱形图

图片

结论分析: 这里图中显示的结果,和第一张图显示的结果不谋而合,就不再过多的解释了。唯独感兴趣的还是这个稻香村,为啥销量如此好?百度一下得知原来是一家百年老店,附带一张图如下。

图片

3)全国月饼销量的地域分布地图

图片

结论分析: 从图中可以看出,广东、浙江、山东、福建、北京的月饼销量,在全国都是遥遥领先的。查阅资料可以发现,它们几乎都有自己的品牌,像广东的广式月饼、浙江的衢式月饼、山东的鲁式月饼等。广式月饼重油重糖、京式月饼重油轻糖、鲁式月饼口味清淡、苏式月饼重甜。大家可以根据自己的需求,给亲戚长辈们合理挑选符合口味的月饼哦。

4)不同价格区间的月饼销量圆环图

图片

结论分析: 当然价格才是大家关注的焦点。观察上图可以发现,月饼的价格几乎是处在中间的、能被大家接受的范围(22-115),再稍微贵一点的就是115-633这个区间(还可以接受),而处在633元以上的月饼几乎为0。毕竟中秋节是一个传统节日,适中的价格才能被大家接受,利润就这么几天,薄利多销才是王道。

5)月饼销售关键字的词云图

图片

结论分析: 从图中可以看出,广式月饼极其受欢迎(PS:我还没吃过),其次小时候经常吃的五仁月饼一直卖的挺好,豆沙月饼还一直是很多孩子的最爱呀!还有现在出来的各种各样的新鲜口味,像美心、酥皮、心奶、燕窝、白莲等等,你到底喜欢哪一个呢?

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

优快云大礼包:全网最全《全套Python学习资料》免费分享🎁

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述
因篇幅有限,仅展示部分资料

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

5️⃣Python兼职渠道

而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
在这里插入图片描述
在这里插入图片描述
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

👉优快云大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值