【46 Pandas+Pyecharts | 当当网畅销图书榜单数据分析可视化】

文章目录

  • 🏳️‍🌈 1. 导入模块
  • 🏳️‍🌈 2. Pandas数据处理
    • 2.1 读取数据
    • 2.2 查看数据信息
    • 2.3 去除重复数据
    • 2.4 书名处理
    • 2.5 提取年份
  • 🏳️‍🌈 3. Pyecharts数据可视化
    • 3.1 作者图书数量分布
    • 3.2 图书出版年份分布
    • 3.3 图书原价分布
    • 3.4 图书售价区间分布
    • 3.5 电子书价格区间占比
    • 3.6 折扣比例分布
    • 3.7 TOP30出版社
    • 3.8 图书评论数词云
  • 🏳️‍🌈 4. 可视化项目源码+数据

大家好,我是 👉【Python当打之年(点击跳转)】

本期利用 python 分析一下「当当网图书畅销榜单(2020-2023)数据」 ,看看哪些作者的图书最畅销、哪些年份的图书上榜最多、上榜图书的价格分布、评论分布以及出版社分布 等,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

涉及到的库:

  • Pandas — 数据处理
  • Pyecharts — 数据可视化

🏳️‍🌈 1. 导入模块

import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

df = pd.read_csv("./当当网畅销图书榜单数据.csv")

在这里插入图片描述

2.2 查看数据信息

df.info()

在这里插入图片描述

2.3 去除重复数据

df = df.drop_duplicates(subset=['书名','出版日期'])

2.4 书名处理

new_name = []
for name in df['书名'].tolist():name_t = name.split('(')[0].split(' ')[0].split('・')[0]new_name.append(name_t)
df['书名_new'] = new_name

2.5 提取年份

df['出版日期_year'] = pd.to_datetime(df['出版日期']).dt.year

在这里插入图片描述

🏳️‍🌈 3. Pyecharts数据可视化

3.1 作者图书数量分布

在这里插入图片描述

-陈磊・半小时漫画团队、东野圭吾的书籍上榜次数居多,代表作分别有《半小时漫画中国史》、《半小时漫画唐诗系列》、《白夜行》、《解忧杂货店》、《嫌疑人X的献身》等。

-曹文轩、余华、肥志、毛姆等老师的作品上榜次数分列第2至第5位。

3.2 图书出版年份分布

def get_line():chart = (Line().add_xaxis(x_data).add_yaxis("", y_data).set_global_opts(title_opts=opts.TitleOpts(title="2-图书出版年份分布",),xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=30),splitline_opts=opts.SplitLineOpts(is_show=False)),))

在这里插入图片描述

  • 2017年-2022年的出版的图书上榜次数相较于其他年份更高一些,其中2019年、2020年出版的图书上榜次数超过150次。

3.3 图书原价分布

在这里插入图片描述

  • 图书原价(定价)基本都在100元以内,很少一部分在200元以上。

3.4 图书售价区间分布

def get_bar():chart = (Bar().add_xaxis(x_data).add_yaxis("", y_data).set_global_opts(title_opts=opts.TitleOpts(title="4-图书售价区间分布",),visualmap_opts=opts.VisualMapOpts(is_show=False,),))

在这里插入图片描述

  • 从售价区间分布上来看:20元以下的图书上榜次数接近400次,20-30元之间的300次左右,也就是30元以内的图书上榜次数接近60%。

  • 从售价区间可以看出来图书的售价和上榜率有一定的关系。

3.5 电子书价格区间占比

def get_pie():chart = (Pie().add("", [list(z) for z in zip(x_data, y_data)]).set_global_opts(title_opts=opts.TitleOpts(title="5-电子书价格区间占比",pos_top='2%',pos_left="center"),visualmap_opts=opts.VisualMapOpts(is_show=False,),))return chart

在这里插入图片描述

  • 电子书的价格普遍较低,比较成本很少,上榜次数分布趋势基本和售价一致。

3.6 折扣比例分布

在这里插入图片描述

  • 5折图书上榜次数要明显高于其他折扣上榜次数,所以在打折促销的时候可以参考打半折,当然也要考虑到图书的内容质量,并不是打折越多就越畅销。

3.7 TOP30出版社

在这里插入图片描述

  • 图书自然会涉及出版质量问题,排名前10的出版社有:北京联合出版有限公司、时代文艺出版社、中信出版社、南海出版公司、南方出版社、人民文学出版社、浙江工商大学出版社、湖南文艺出版社、江苏凤凰文艺出版社、北京十月文艺出版社

3.8 图书评论数词云

def get_wordcloud():chart = (WordCloud().add("",words,word_size_range=[10,50]).set_global_opts(title_opts=opts.TitleOpts(title='8-图书评论词云',pos_top='2%',pos_left="center",),legend_opts=opts.LegendOpts(is_show=False),visualmap_opts=opts.VisualMapOpts(is_show=False),))return chart

在这里插入图片描述

  • 亚龙湾、三亚湾、蜈支洲岛、大东海、天涯海角、海棠湾等景点更受驴友的喜爱。

🏳️‍🌈 4. 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/47037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM--垃圾收集算法

1.分代收集理论 垃圾收集算法可以划分为“引用计数式垃圾收集”(ReferenceCounting GC)和“追踪式垃圾收集”(Tracing GC)两大类,本次仅仅讨论踪式垃圾收集 谈到垃圾收集 ,首先先了解分代的收集理论&#x…

Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验

title: Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验 date: 2024/7/16 updated: 2024/7/16 author: cmdragon excerpt: 摘要:“Nuxt.js头部魔法:轻松自定义页面元信息,提升用户体验”介绍如何使用useHead函数…

智能合约中授权与转账的分离可行性分析

概览 本文档旨在探讨智能合约中授权与转账操作为何通常被设计为分离的步骤,以及在授权与转账之后,是否能够立即进行连续的代币转移。我们将从安全性、效率、灵活性和操作流程的角度分析这些问题。 授权与转账操作的分离 目标与原因 安全性增强&#…

mybatis的xml中,where标签不自动删除多余的and之类的问题

遇到了这个莫名其妙的问题,起初是很疑惑的,where标签好像失灵了一般不会自动删除掉 多余的and 看了眼sql语句,发现还是有and没被删除。 后来重新写了遍后发现又没事了。真的是神人。 然后就研究了好一会,发现!&#…

什么是Go中的泛型与接口,它们都有哪些优缺点?

Golang 中的泛型与空接口 泛型简介 泛型允许在编写能够处理任意类型的代码,而无需在每次使用不同类型时都重新编写代码。泛型的核心是类型参数,这些参数在函数、结构体或接口中定义,并在使用时进行具体化。 泛型函数 使用泛型函数时&…

Uniapp中image的@load不触发问题

load 事件不触发的常见情况有以下几种: 图片缓存命中 当图片从浏览器缓存中加载时,load 事件通常不会被触发。这是因为浏览器认为这个图片已经成功加载过了,所以不会再次触发 load 事件。 图片地址未发生变化 如果 image 组件的 src 属性值没有发生变化,即使图片是从网络上加载…

C++——关于new和delete

在C语言中我们想要动态管理内存空间,需要使用到malloc/calloc/realloc/free这些函数,在 C中有新的管理方式,那就是new和delete。new和delete是C新定义的操作符,专门用于管理堆上的内存空间。 new和delete在编译时,编译…

Linux C++ 055-设计模式之状态模式

Linux C 055-设计模式之状态模式 本节关键字:Linux、C、设计模式、状态模式 相关库函数: 概念 状态模式(State Pattern)是设计模式的一种,属于行为模式。允许一个对象在其内部状态改变时改变它的行为。对象看起来似…

Rust RefCell<T> 和内部可变性模式

内部可变性(Interior mutability)是 Rust 中的一个设计模式,它允许你即使在有不可变引用时也可以改变数据,这通常是借用规则所不允许的。为了改变数据,该模式在数据结构中使用 unsafe 代码来模糊 Rust 通常的可变性和借…

移动UI:具备什么特征,可以被认定为科技风格。

移动UI设计在科技风格上通常具备以下特征: 1. 清晰简洁的排版: 科技风格的移动UI通常采用清晰简洁的排版,注重信息的层次感和结构化,以便用户能够快速、直观地获取所需信息。 2. 几何形状和线条: 科技风格的移动UI常…

【算法】代码随想录之哈希表(更新中)

文章目录 前言 一、有效的字母异位词(LeetCode--242) 二、两个数组的交集(LeetCode--349) 前言 跟随代码随想录,学习哈希表相关的算法题目,记录学习过程中的tips。 一、有效的字母异位词(Le…

HashMap的扩容原理

1.7版本 1.先生成新数组 2.遍历老数组中的每个位置上的链表上的每个元素 3.取每个元素的key,并基于新数组长度,计算出每个元素在新数组中的下标 4.将元素添加到新数组中去 5.所有元素转移完了之后,将新数组赋值给HashMap对象的table属性 1.8版…

conda 复现论文部署环境常用操作

conda创建环境 conda create -n baichuan python3.9#不要创建环境,新创建的环境都没有关联cuda。可以复制原本就有cuda的环境 conda create -n 新环境名 --clone 旧环境名conda删除、查看环境 conda env list conda remove -n baichuan --all 停用环境 conda dea…

更新:彩虹云商城系统 自助下单免授权无后门源码(修复完整版)

源码简介: 最新更新彩虹云商城系统,自助下单免授权无后门源码(修复完整版) 自助下单彩虹云商城系统。这玩意儿不简单,它是高效稳定的电商平台!免授权源码版本,灵活方便。源码是用PHP语言写的。…

如何在SpringCloud中优雅实现服务注册与发现

Spring Cloud提供了一个名为Eureka的服务注册与发现组件,可以帮助我们在微服务架构中实现服务注册与发现的功能。在本文中,我将介绍如何在Spring Cloud中使用Eureka实现服务注册与发现,并通过一些优雅的方式来进行配置和使用。 首先&#xf…

定期整理pycharm相关缓存

缘起:下载一个数据集之后,点了虚拟机,直接卡住了,第二屏黑了,然后放到桌面,用电脑管家查了下,结果一直再查pycharm下的remote_sources https://blog.csdn.net/lt_BeiMo/article/details/124159…

迅为3A5000_7A2000ATX标准DIY国产龙芯电脑

性能强 采用全国产龙芯3A5000处理器,基于龙芯自主指令系统 (LoongArch)的LA464微结构,并进一步提升频率,降低功耗,优化性能。 桥片 采用龙芯 7A2000,支持PCIE 3.0、USB 3.0和 SATA 3.0.显示接口2 路、HDMI 和1路 VGA&a…

超算网络体系架构-资源层-平台层-服务层-应用层

目录 超算网络体系架构 我国超算基础设施 超算互联网相关标准研制方面 技术架构 资源层 基础资源 芯片多样 体系异构 高效存储 高速互连 资源池化 可隔离 可计量 互联网络 高带宽 低时延 高安全 平台层 算力接入 资源管理 算力调度 用户管理 交易管理 模…

计算机网络入门 --网络模型

计算机网络入门 --网络模型 1.OSI七层模型 1.1 模型概念 OSI七层模型是将计算机网络通信协议划分为七个不同层次的标准化框架,每一层都负责不同功能,并从物理连接层开始处理。OSI七层网络模型如下分别为:物理层、数据链路层、网络层、传输…

【linux】报错解决:配置RAIDA1之后系统识别不到

【linux】报错解决:配置RAIDA1之后系统识别不到 一、问题描述: 我的主板是华南金牌X99-F8D PLUS,安装了ubuntu20.04,通过BIOS创建了RAID1数组,进入系统之后识别不到我创建的RAID1数组。 二、原因分析: 可…