前言

嗨喽~大家好呀,这里是魔王呐 !

中秋节,又称拜月节、月光诞、月夕等,节期在每年的农历八月十五日(九月十)。

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

马上有临近中秋,这不得好好准备~于是准备对月饼数据进行可视乎

数据

数据集、源码、解答加Q君羊:926207505 点击蓝字加入【python学习裙】

代码

# 导包
import pandas as pd
import numpy as np
import re
# author:Dragon少年
# 导入爬取得到的数据
df = pd.read_csv("月饼.csv", encoding='utf-8-sig', header=None)
df.columns = ["商品名", "价格", "购买人数", "店铺", "地址"]
# 去除重复的数据
df.drop_duplicates(inplace=True)
print(df.shape)
# 删除购买人数0的记录
df['购买人数'] = df['购买人数'].replace(np.nan,'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']# 删除没有发货地址的店铺数据 获取省份
df = df[df['地址'].notna()]
df['省份'] = df['地址'].str.split(' ').apply(lambda x:x[0])
# 删除多余的列
df.drop(['购买人数', '地址', 'num', 'unit'], axis=1, inplace=True)
# 重置索引
df = df.reset_index(drop=True)
df.to_csv('月饼清洗数据.csv')
# 导入包
from pyecharts.charts import Bar
from pyecharts import options as opts # 计算月饼总销量Top10的店铺
shop_top10 = df.groupby('店铺')['销量'].sum().sort_values(ascending=False).head(10)# 绘制柱形图
bar1 = Bar(init_opts=opts.InitOpts(width='600px', height='450px'))
bar1.add_xaxis(shop_top10.index.tolist())
bar1.add_yaxis('销量', shop_top10.values.tolist())
bar1.set_global_opts(title_opts=opts.TitleOpts(title='销量Top10店铺-Dragon少年'),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-30)))
bar1.render("销量Top10店铺-Dragon少年.html")
bar1.render_notebook()
# 导入包
from pyecharts.charts import Bar
from pyecharts import options as opts # 计算销量top10月饼
shop_top10 = df.groupby('商品名')['销量'].sum().sort_values(ascending=False).head(10)# 绘制柱形图
bar0 = Bar(init_opts=opts.InitOpts(width='750px', height='450px'))
bar0.add_xaxis(shop_top10.index.tolist())
bar0.add_yaxis('销量', shop_top10.values.tolist())
bar0.set_global_opts(title_opts=opts.TitleOpts(title='销量Top10月饼-Dragon少年'),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-30)))
bar0.render("销量Top10月饼-Dragon少年.html")
bar0.render_notebook()
from pyecharts.charts import Piedef price_range(x): #按照淘宝推荐划分价格区间if x <= 50:return '50元以下'elif x <= 150:return '50-150元'elif x <= 500:return '150-500元'else:return '500元以上'df['price_range'] = df['价格'].apply(lambda x: price_range(x))
price_cut_num = df.groupby('price_range')['销量'].sum()
data_pair = [list(z) for z in zip(price_cut_num.index, price_cut_num.values)]
print(data_pair)# 饼图
pie1 = Pie(init_opts=opts.InitOpts(width='750px', height='350px'))
# 内置富文本
pie1.add( series_name="销量",radius=["35%", "55%"],data_pair=data_pair,label_opts=opts.LabelOpts(formatter='{b}—占比{d}%'),
)pie1.set_global_opts(legend_opts=opts.LegendOpts(pos_left="left", pos_top='30%', orient="vertical"), title_opts=opts.TitleOpts(title='不同价格月饼销量占比-Dragon少年'))pie1.render("不同价格月饼销量占比-Dragon少年.html")
pie1.render_notebook()
from pyecharts.charts import Map # 计算销量
province_num = df.groupby('省份')['销量'].sum().sort_values(ascending=False) # 绘制地图
map1 = Map(init_opts=opts.InitOpts(width='950px', height='600px'))
map1.add("", [list(z) for z in zip(province_num.index.tolist(), province_num.values.tolist())],maptype='china')
map1.set_global_opts(title_opts=opts.TitleOpts(title='各省月饼销量分布-Dragon少年'),visualmap_opts=opts.VisualMapOpts(max_=1500000))
map1.render("各省月饼销量分布-Dragon少年.html")
map1.render_notebook()

效果




尾语

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦

python对月饼数据进行可视化,看看哪家最划算相关推荐

  1. Python 抓取数据并可视化

    Python 抓取数据并数据可视化 前言 一.数据抓取篇 1.简单的构建反爬措施 2.解析数据 3.完整代码 二.数据可视化篇 1.数据可视化库选用 2.案例实战 (1).柱状图Bar (2).地图M ...

  2. WRF后处理/Python处理nc数据与可视化/极坐标网格绘制(Cartopy、netcdf4)——以北极雪水当量数据为例

    试了下用python处理并绘制北极雪水当量数据(来源:北极雪水当量格网数据集,,以往数据处理与图像绘制我习惯于使用matlab或R,绘制使用ArcGIS.不过python毕竟是万金油语言,试一试如何处 ...

  3. 【手把手教你】Python获取财经数据和可视化分析

    内容来自:微信公众号:python金融量化 关注可了解更多的金融与Python干货. "巧妇难为无米之炊",找不到数据,量化分析也就无从谈起.对于金融分析者来说,获取数据是量化分析 ...

  4. Python VTK numpy数据3D可视化

    在Python的3D图像处理中,通常用numpy array来进行非常方便的计算或者转化,这里记录一下numpy数据的VTK可视化基本流程,包括面绘制(Surfase Rendering)和体绘制(V ...

  5. python动态演示数据gdp_Python可视化地图:2019年中国各省GDP情况(pyecharts地理图表)...

    大家好! 今天来分享一下如何用Python工具来帮助我们制作一张展示2019年中国各省GDP的可视化地图. 案例中数据表格结构如下: 代码及演示: import numpy as np import ...

  6. python tushare获取股票数据并可视化_荐Python获取股票数据及其可视化--基于tushare库...

    01 Tushare简介 Tushare是一个金融大数据开放社区,它免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.在Tushare 旧版 运行了3年后,Tushare Pro终于要跟 ...

  7. Python获取股票数据及其可视化--基于tushare库

    01 Tushare简介 Tushare是一个金融大数据开放社区,它免费提供各类金融数据和区块链数据 , 助力智能投资与创新型投资.在Tushare 旧版 运行了3年后,Tushare Pro终于要跟 ...

  8. Python机器学习之数据探索可视化库yellowbrick

    背景介绍 从学sklearn时,除了算法的坎要过,还得学习matplotlib可视化,对我的实践应用而言,可视化更重要一些,然而matplotlib的易用性和美观性确实不敢恭维.陆续使用过plotly ...

  9. 用代码过中秋,python海龟月饼你要不要尝一口?

            目录: 一.2022年中秋祝福 二.Python 海龟画图主要方法 (1)海龟画图的主要步骤 (2)海龟画图的坐标体系 (3)海龟画图的一些建议 三.海龟画图常用命令 1.初始化 2. ...

最新文章

  1. linux服务器数据转发,Linux云服务器如何使用iptables做流量转发?
  2. sklearn的KNN文档中实例代码的注释
  3. BigDecimal转String,int,double及简单操作运算、方法
  4. 转型从思维习惯的转变开始
  5. 1071svm函数 r语言_R语言机器学习之核心包e1071 - 数据分析
  6. 最新阿里内推高级Java面试题
  7. 给图像添加噪声,高斯噪声、椒盐噪声
  8. 学报格式和论文格式一样吗_社科类学报字数要求及投稿注意事项
  9. python3.6字典有序_为什么Python3.6字典变得有序了?
  10. 我与分布式机器学习的故事
  11. nodejs+vue+elementui宠物医院管理系统php-java-python
  12. 免费解析成pdf下载 -原创力文档
  13. Vue 中 provide 和 reject 的使用详解和源码解析
  14. Bootstrap class快捷笔记
  15. 我的拆机经历——戴尔灵越5570系列
  16. PTA L1-088 静静的推荐
  17. 基于PHP的餐饮行业管理系统
  18. springboot整合redis,redisTemplate 空指针
  19. java v_java -v报错 java -version正确
  20. springboot热部署

热门文章

  1. 倪光南——世人笑我太疯癫,我笑他人看不穿
  2. Tableau图表 | 3、区域图/面积图/折线图
  3. 【YOLOV5-5.x 源码解读】common.py
  4. 自动化测试平台及可视化界面
  5. numpy找非零元素并计数 numpy.nonzero 和 numpy.count_nonzero
  6. Unix环境下PS1变量的设置
  7. 使用Android辅助功能AccessibilityService实现微信自动聊天【外挂插件】
  8. 原生js做购物车全选选中商品显示价格和小计的计算
  9. java中的迭代是什么意思_JAVA里的 迭代 具体是指什么意思
  10. 谷歌地图 图片保存_Google如何在地图上跟踪并保存您的一举一动