范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

手把手教你用Pyecharts库对淘宝数据进行可视化展示

  来源:Python爬虫与数据挖掘
  作者:Python进阶者一、可视化
  可视化部分,我们采用Pyecharts库来进行完成,这个库作图十分的炫酷,而且可以交互,十分带感,强烈推荐。关于这部分,小编以生成配料图表和生成保质期可视化图表为例来进行展开。
  1、生成配料饼图
  针对配料数据,我们使用一个饼图去进行展示,这样显得更加高大上一些,直接上代码。# 生成配料图表 def get_ingredients_html(df):     # 词表分词     names = df.配料表.apply(jieba.lcut).explode()     df1 = names[names.apply(len)>1].value_counts()     # 写入分词后的结果     with pd.ExcelWriter("淘宝商品配料数据.xlsx") as writer:         df1.to_excel(writer, sheet_name="配料")     fpath = r"C:UserspdcfiDesktop淘宝数据分析淘宝商品配料数据.xlsx"     # 读取数据 提取列     df1 = pd.read_excel(fpath, header=None, skiprows=1, sheet_name="配料", names=["sx", "sl"])     a = df1["sx"].to_list()[:10]     b = df1["sl"].to_list()[:10]       from pyecharts.charts import Pie     from pyecharts import options as opts     # 绘制可视化图表     pie = (         Pie().add("", [list(z) for z in zip(a, b)],                  radius=["20%", "60%"],  # 半径长度                  rosetype="radius"  # 扇区圆心角展现数据的百分比,半径展现数据的大小                  )             .set_global_opts(title_opts=opts.TitleOpts(title="淘宝商品数据配料统计", subtitle="8.19"))             .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))  # 数字项名称和百分比       )     pie.render("淘宝商品数据配料统计.html")
  在Pycharm里边运行代码之后,我们将会得到一个淘宝商品数据配料统计.html文件,双击打开该HTML文件,在浏览器里边可以看到效果图,如下图所示。
  是不是感觉一下子就高大上了呢?而且动动鼠标,你还可以进行交互,是动态图来着,十分好玩。
  2、生成保质期可视化饼图
  针对保质期数据,我们也先使用一个饼图去进行展示,直接上代码,其实你会发现和上面那个配料图表大同小异。"""生成保质期可视化图表""" def get_date_html(df):     # 词表分词     names = df.保质期.apply(jieba.lcut).explode()     df1 = names[names.apply(len) > 1].value_counts()     # 写入分词后的结果     with pd.ExcelWriter("淘宝商品保质期数据.xlsx") as writer:         df1.to_excel(writer, sheet_name="保质期")     fpath = r"C:UserspdcfiDesktop淘宝数据分析淘宝商品保质期数据.xlsx"     # 读取数据 提取列     df1 = pd.read_excel(fpath, header=None, skiprows=1, names=["bzq", "rq"])     a = df1["bzq"].to_list()[:10]     b = df1["rq"].to_list()[:10]     from pyecharts.charts import Pie     from pyecharts import options as opts     # 绘制可视化图表     pie = (         Pie()             .add("", [list(z) for z in zip(a, b)],                  radius=["20%", "60%"],  # 半径长度                  rosetype="radius"  # 扇区圆心角展现数据的百分比,半径展现数据的大小                  )             .set_global_opts(title_opts=opts.TitleOpts(title="淘宝商品保质期可视化图表", subtitle="8.19"))             .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))  # 数字项名称和百分比       )     pie.render("淘宝商品保质期统计.html")
  在Pycharm里边运行代码之后,我们将会得到一个淘宝商品保质期统计.html文件,双击打开该HTML文件,在浏览器里边可以看到效果图,如下图所示。
  相信有小伙伴肯定感觉哪里不对,一个保质期的可视化,做成这种饼图似乎太丑了吧?嗯,的确是丑爆了,所以程序大佬把保质期这个图转为了柱状图,这样看上去就高大上很多了。
  3、生成保质期可视化柱状图
  其实数据都是一样的,只不过呈现方式不同,直接上代码。"""生成保质期可视化图表""" def get_date_html(df):     # 词表分词     names = df.保质期.apply(jieba.lcut).explode()     df1 = names[names.apply(len) > 1].value_counts()     # 写入分词后的结果     with pd.ExcelWriter("淘宝数据.xlsx") as writer:         df1.to_excel(writer, sheet_name="保质期")     fpath = r"C:UsersdellDesktop崔佬数据分析综合实战淘宝数据.xlsx"     # 读取数据 提取列     df1 = pd.read_excel(fpath, header=None, skiprows=1, names=["bzq", "rq"])     a = df1["bzq"].to_list()[:50]     b = df1["rq"].to_list()[:50]       bar = (         Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK))             .add_xaxis(a)             .add_yaxis("保质期(天数)",b)             .set_global_opts(                 title_opts=opts.TitleOpts(title="Bar-DataZoom(slider-保质期)"),             datazoom_opts=opts.DataZoomOpts(),         )       )     return bar
  这么处理之后,我们就会得到一个柱状图了,如下图所示。
  这把看上去,是不是觉得清晰很多了呢?
  不过呢,程序大佬还觉得不够,想把这两张图放到一起,这应该怎么办呢?
  4、合并饼图和柱状图到一个HTML文件
  其实这个也并不难,只需要将生成两个图的函数放到一个布局类里边就可以完成了,直接上代码。def page_draggable_layout(df):     page = Page(layout=Page.DraggablePageLayout)     page.add(         get_ingredients_html(df),         get_date_html(df)     )     page.render("page_draggable_layout.html")
  如果你想在一个HTML文件里边加入更多的图,只需要继续在add()函数里面进行添加生成可视化图的函数即可。话不多说,直接上效果图。
  从上图我们可以看到配料饼图和保质期柱状图都同时在同一个HTML文件出现了,而且也是可以进行点击交互的噢!我们还可以收到拖拽,让图表移动,如下图所示,分为左右图进行展示。
  你以为到这里就结束了?其实并没有,程序大佬还想玩点更加高大上的,他想把table表一并显示出来,这样显得更加饱满一些。那么table表又如何来进行显示呢?
  5、table表加持
  其实在这里,程序大佬卡了一下,他在群里问,基于他目前的数据,像下图这样的df数据如何进行展示出来。
  而且,他自己在不断的尝试中,始终报错,一时间丈二和尚摸不着头脑,不知如何是好。
  不过此时小小明大佬,又递来了橄榄枝,人狠话不多,直接丢了两行代码,让人拍手叫绝。
  然后程序大佬,拿到Pycharm中一跑,啪,成了,真是拍案叫绝,小小明yyds!那么呈现的效果图是下面这样的。
  这样看上去还稍微不太好看,拖拽下,调整下格式看看,如下图所示。
  但是这样一看,确实高大上了一些,不过还是达不到程序大佬心里的预期,于是乎他继续折腾。
  6、调整图像背景色
  现在呢,程序大佬又想要加点背景色,这样显得高大上一些,代码如下。# 绘制可视化图表 pie = (     Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK))         .add("", [list(z) for z in zip(a, b)],              radius=["20%", "60%"],  # 半径长度              rosetype="radius"  # 扇区圆心角展现数据的百分比,半径展现数据的大小              )         .set_global_opts(title_opts=opts.TitleOpts(title="配料统计", subtitle="8.19"))         .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))  # 数字项名称和百分比   ) return pie
  其实核心的那句代码下面这个,引入了一个主题:init_opts=opts.InitOpts(theme=ThemeType.CHALK)
  得到的效果图如上图所示了。
  7、添加漏斗图
  这里是以数据里边的"食品添加"列来做实例的,代码如下所示。def get_sptj_data(df):     # 词表分词     names = df.食品添加剂.apply(jieba.lcut).explode()     df1 = names[names.apply(len) > 1].value_counts()     # 写入分词后的结果     with pd.ExcelWriter("淘宝数据.xlsx") as writer:         df1.to_excel(writer, sheet_name="食品添加剂")     fpath = r"C:UsersdellDesktop崔佬数据分析综合实战淘宝数据.xlsx"     # 读取数据 提取列     df1 = pd.read_excel(fpath, header=None, skiprows=1, names=["sptj", "sj"])     a = df1["sptj"].to_list()[:10]     b = df1["sj"].to_list()[:10]     c = (         Funnel(init_opts=opts.InitOpts(theme=ThemeType.CHALK))             .add(             "商品",             [list(z) for z in zip(a, b)],             label_opts=opts.LabelOpts(position="inside"),         )             .set_global_opts(title_opts=opts.TitleOpts(title="Funnel-Label(food_add)"))     )     return c
  得到的效果图如下图所示。
  写到这里,基本上快接近尾声了,不过程序大佬为了感谢小小明大佬,后来又补充了一个极化装X图来赞扬小小明。
  8、极化图
  直接上代码,程序大佬取的这个zb函数,就是装X的意思,取的太没有水平了。def zb_data():     data = [(i, random.randint(1, 100)) for i in range(10)]     c = (         Polar()         .add(             "",             data,             type_="effectScatter",             effect_opts=opts.EffectOpts(scale=10, period=5),             label_opts=opts.LabelOpts(is_show=False),         )         .set_global_opts(title_opts=opts.TitleOpts(title="Polar-没啥用,用来装逼,小小明yyds"))       )     return c
  看上去确实很高大上呢。二、总结
  大家好,我是Python进阶者。本文基于一份杂乱的淘宝原始数据,利用正则表达式re库和Pandas数据处理对数据进行清洗,然后通过stop_word停用词对得到的文本进行分词处理,得到较为"干净"的数据,之后利用传统方法和Pandas优化处理两种方式对数据进行词频统计,针对得到的数据,利用Pyecharts库,进行多重可视化处理,包括但不限于饼图、柱状图、Table表、漏斗图、极化图等,通过一系列的改进和优化,一步步达到想要的效果,可以说是干货满满,实操性强,亲测有效。

欧洲有华为,印度有小米,那么三星主要销售阵地在哪?论销量三星手机欧洲第一,拉丁美洲第一,中东及非洲第一,北美第二,亚洲第四,全球总出货量第一,你说三星卖哪了?华为在欧洲卖的好,可总销量还不及三星的一半。看看市场调研机构counte正式入网!华为Mate40的接班人来了?麒麟芯片5G网络换汤不换药受限于美国政府的制裁禁令,华为的手机业务快速萎缩,出货量一跌再跌。为了抵御危机,华为想出了很多办法,先是自研鸿蒙操作系统,随后又一鼓作气割舍掉了子品牌荣耀。而现在,华为居然打算亲自华为GT3领衔两千元靠谱跑步表买什么?华为在前几天发布会中,正式带来了全新的几乎是专为跑步爱好者准备的运动手表华为GT3Runner。然而有竞争的市场更健康,华为作为后来者,要与现在市场上哪些产品直面竞争?这是值得每个用了一年多的小米10至尊版,8256的,说下我的感受用了一年多的小米10至尊版,8256的,说下我的感受用小米六七年了,没遇到过wifi看图看视频转圈的,反而遇到过华为wifi信号不好的,同一个房间角落,小米很顺畅,华为转圈圈!wi定了!华为Mate50年初发布,麒麟990骁龙898混搭中关村在线消息11月22日,据知情人士爆料,华为Mate50系列最快于明年初与大家见面,新机将采用麒麟990骁龙898混合的搭配方案,全系4G网络,首发搭载HarmonyOS3。0HaxMiniSFF迷你主机开启众筹绝版处理器加持前段时间开始预热的HaxMiniSFF迷你主机终于在Kickstarter平台上开启众筹了。因为众筹目标定得比较低的缘故,HaxMiniSFF迷你主机很快就完成了目标尽管目前参与众天玑9000新机到站,16512G放在三千档,可能是超便宜4nm旗舰新的处理器总会推动新旗舰的到来,因为新处理器意味着性能更强,所以手机厂商们都渴望拿到新处理器的首发权,能最大化增强新机的热度和销量。对于处理器行业关注,你就知道,最近联发科发布了业交易额突破600亿央行数字货币支付工具全面应用近了数字人民币具有与银行账户松耦合支付即结算低成本等特性,可满足用户多主体多层次多类别多形态的差异化需求,避免因数字鸿沟带来的使用障碍。预计数字人民币将来的应用场景将全面超过微信支付宝OPPO手机不能乱买,这两款都是5000mAh6nm芯片,内行人都喜欢众所周知,现在OPPO属于国产四大手机品牌之一,因为品牌很大,所以OPPO中有很多针对不同用户的手机产品,比如OPPOFindX系列OPPOReno系列等,但在很多人看来,这两个系联发科和华为海思谁的水平更高一筹?文小伊评科技以近两年旗舰芯片的表现来看,华为海思明显要比联发科强出一线,但两家在技术上实际上还处于一个阶层,只不过华为海思拥有比联发科更多的施展空间,更好的品牌所以在表现上会更好。元宇宙概念带火分布式加密存储其底层技术逻辑到底是什么?科创板日报(成都,记者崔文官张海霞)讯,近来,元宇宙成为热门话题,中青宝(300052。SZ)佳创视讯(300264。SZ)等相关概念股更是在二级市场上掀起一股资本热。元宇宙的大火
天才少年李一男,27岁成为华为副总裁,离职对抗华为,结局惨败前言他曾经是一个天才少年,15岁从初中直接考上了大学,23岁入职华为公司,入职仅两天就被任命为工程师,半个月升职为主任工程师,半年后被任命为中研部副总经理,两年被提拔为华为公司总工美国司法部批准反垄断法案主要针对亚马逊等科技巨头据报道,美国司法部批准了一项针对亚马逊谷歌和苹果等科技巨头公司的反垄断法案,以阻止这些在市场占主导地位的科技平台偏袒自家的产品或服务。这项法案名为美国创新与选择在线法案,主要面向全马斯克大部分人没必要活那么长3月17日,胡润发布了2022胡润全球富豪榜,榜单显示,马斯克以极强的实力卫冕全球富豪榜榜首,是全球首富。作为全球首富以及兴能源汽车龙头企业的创始人,马斯克的言行受到很多人的关注。3月换机首选,这三款手机几乎零槽点,性价比极高转眼2022年已经过去三个月了,很多朋友是不是还在观望该换什么手机?今天转转给大家推荐三款几乎没有槽点的手机,大家换机可以作为参考。RedmiK50Pro如果说搭载了联发科处理器天手机内存不足严重卡顿,试试删除这5个文件夹,瞬间多了十个G你的手机遇到过内存不足的情况吗?如果你碰到过这样的提示,那么小编相信你的手机使用得已经不称心如意了,此时,卡顿是最常见的现象能严重到什么程度呢?好比滴滴叫了一辆车,司机用手机导航驾买苹果手机的竟然是穷人吗?网络最近反向证明爆料买苹果手机是穷人。为什么这么说?因为苹果手机的芯片和系统相互互衬,能够使得手机更加简洁,流畅性有了明显的提高,基本用3到4年都不会有出现手机非常卡顿的问题。所以回国半年,孟晚舟发声,被美制裁究竟影响华为多少?不知不觉孟晚舟已经回国半年不知不觉华为被断供芯片,已经是两年前的事情荣耀也已经被转手了一年多,现在的华为新机,都开始用高通芯片此前不管是余承东还是徐直军都曾表示,华为的接下来的目标6。0英寸天玑8100疑似荣耀Magic4mini版概念图曝光简直太Q了从目前已经发布的智能手机来看,不是屏幕越来越大,就是折叠屏展开更大,甚至据爆料来看,很快就有拉伸屏新机将要发布,手机的屏幕也会更大了。而就在荣耀Magic4系列正在热卖的时候,该系鸿蒙新旗舰华为P50E购买它的4个理由在前段时间,华为P50系列产品线又迎来更新,推出了全新华为P50E,这款手机定位于直屏旗舰,它也是P50系列中最便宜的一款,价格仅需4088元,那么这款手机如何呢?下面就给大家分析飞利浦大翻车,国产万元黑科技白菜价甩卖,网友快抢都市人生活节奏快,传统的刀片剃须耗时不省心,稍有操作不当便很容易引发血案。因此在剃须方式上,不少都市男性开始选用效率高一点的电动剃须刀。男人很少会在琐碎的事情上花时间,所以能够持久捷邦科技IPO背靠大树不好乘凉文冯微3月31日,捷邦精密科技股份有限公司(以下简称捷邦科技)将接受深交所创业板上市委员会审议。尽管捷邦科技的客户是大名鼎鼎的富士康,而富士康的客户又是苹果公司,但这也意味着在产业