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

news2024/12/27 10:16:48

文章目录

  • 🏳️‍🌈 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.coloradmin.cn/o/1930835.html

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

相关文章

2-36 基于matlab的流行学习算法程序

基于matlab的流行学习算法程序。通过GUI的形式将MDS、PCA、ISOMAP、LLE、Hessian LLE、Laplacian、Dissusion MAP、LTSA八种算法。程序以可视化界面进行展示,可直接调用进行分析。多种案例举例说明八种方法优劣,并且可设置自己数据进行分析。程序已调通&…

podman 替代 docker ? centos Stream 10 已经弃用docker,开始用podman了!

👨‍🎓博主简介 🏅CSDN博客专家   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入&#xff01…

前端vue项目打镜像并拉取镜像包

前端vue项目打镜像并拉取镜像包 如图需要准备三部分的内容 1.前置要求 linux 环境 docker环境2.vue打包后的静态文件,需要自行打包 npm run build 打包后上传到服务器3.nginx配置(default.conf文件配置) server {listen 80;serve…

浅谈Visual Studio 2022

Visual Studio 2022(VS2022)提供了众多强大的功能和改进,旨在提高开发者的效率和体验。以下是一些关键功能的概述:12 64位支持:VS2022的64位版本不再受内存限制困扰,主devenv.exe进程不再局限于4GB&#xf…

SQL Server的视图

SQL Server的视图 一、基础 SQL 视图(Views)是一种虚拟表,是基于 SQL 查询结果生成的。这些虚拟表可以包含来自一个或多个表的数据,并且可以像表一样查询;视图是一个表中的数据经过某种筛选后的显示方式,或…

在 Linux 系统中安装MySQL 8.x(Ubuntu和CentOS)

文章目录 0. 前言1. 查看 Linux 的发行版本2. 在 Ubuntu 中安装MySQL 8.x2.1 更新包索引2.1.1 更改 Ubuntu 的镜像源2.1.2 更新软件包、升级软件包(耗时可能较长)2.1.3 可能遇到的问题 2.2 安装MySQL2.3 安全配置2.3.1 密码安全级别2.3.2 删除匿名用户2.…

昇思25天学习打卡营第25天|GAN图像生成

学AI还能赢奖品?每天30分钟,25天打通AI任督二脉 (qq.com) GAN图像生成 模型简介 生成式对抗网络(Generative Adversarial Networks,GAN)是一种生成式机器学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。 GAN论文逐…

iOS——MRC与ARC以及自动释放池深入底层学习

MRC与ARC再回顾 在前面,我们简单学了MRC与ARC。MRC指手动内存管理,需要开发者使用retain、release等手动管理对象的引用计数,确保对象在必要时被释放。ARC指自动内存管理,由编译器自动管理对象的引用计数,开发者不需要…

SQL注入问题

一、什么是sql注入 public class TestSql {public static void main(String[] args) {Scanner inScanner new Scanner(System.in);System.out.println("请输入用户名");String username inScanner.nextLine();System.out.println("请输入密码");String …

php基础: 三角形

包含&#xff1a;左三角、左上三角、右三角、右上三角、等腰三角、倒等腰三角。注意空格的数量&#xff0c;因为*号后面加了空格 /*** * 左三角形* param $n* return void*/ function triangleLeft($n){echo <pre>;for ($i 1; $i < $n; $i) {for ($j 1; $j < $i…

MongoDB常用命令大全

文章目录 一、MongoDB简介二、服务启动停止备份三、数据库相关四、集合操作五、文档操作六、其他常用命令 一、MongoDB简介 MongoDB是一款流行的NoSQL数据库&#xff0c;以其灵活的文档模型、高可用性、易于扩展等特性而受到广泛关注。 MongoDB 是由C语言编写的&#xff0c;是…

C# modbus 图表

控件&#xff1a;chart1(图表)&#xff0c;cartesianChart1(第三方添加图表)&#xff0c;timer(时间) 添加第三方&#xff1a; 效果&#xff1a;图标会根据连接的温度&#xff0c;湿度用timer时间进行改变 Chart1控件样式&#xff1a;Series添加线条&#xff0c;颜色&#xf…

劳易测应用案例 汽车零部件装配线光电传感器解决方案

汽车零部件种类繁多&#xff0c;形状、尺寸、功能各异&#xff0c;生产线的规划与布局必须紧密贴合产品的独特工艺、精细装配流程及高效生产需求。随着电动汽车时代的到来&#xff0c;生产标准愈加严格&#xff0c;对生产线的设计和装配周期提出了更高要求。市场要求生产线不仅…

EE trade:强平和爆仓的区别

在金融交易市场中&#xff0c;杠杆交易的引入&#xff0c;让投资者可以用少量的资金撬动更大的头寸&#xff0c;获取更大的收益。然而&#xff0c;杠杆交易也带来了更大的风险&#xff0c;一旦市场波动&#xff0c;投资者可能会面临强平或爆仓的风险。了解强平和爆仓的区别&…

MySQL-对数据库和表的DDL命令

文章目录 一、什么是DDL操作二、数据库编码集和数据库校验集三、使用步骤对数据库的增删查改1.创建数据库2.进入数据库3.显示数据库4.修改数据库mysqldump 5.删除数据库 对表的增删查改1.添加/创建表2.插入表内容3.查看表查看所有表查看表结构查看表内容 4.修改表修改表的名字修…

保障低压设备安全!中国星坤连接器精密工艺解析!

在现代电子设备中&#xff0c;连接器扮演着至关重要的角色&#xff0c;它们是电子系统之间沟通的桥梁。随着技术的发展&#xff0c;对连接器的需求也在不断提升&#xff0c;特别是在低电压应用领域。中国星坤最新推出的低压连接器&#xff0c;以其精密性和安全性&#xff0c;为…

Msql数据库之DDL(数据定义语言)的相关操作

数据定义语言(DDL)&#xff1a;用于创建、修改和删除数据库对象&#xff0c;如数据库、表、视图、索引等 一、数据库的相关操作&#xff1a; 1、创建数据库 语法&#xff1a;create database [if not exists ] 数据库名; 例&#xff1a;create database if not exists test…

2024-07-16 Unity插件 Odin Inspector6 —— Group Attributes

文章目录 1 说明2 Group 特性2.1 BoxGroup2.2 ButtonGroup2.3 FoldoutGroup2.4 ShowIfGroup / HideIfGroup2.5 HorizontalGroup2.6 ResponsiveButtonGroup2.7 TabGroup2.8 ToggleGroup2.9 VerticalGroup 1 说明 ​ 本文介绍 Odin Inspector 插件中有关 Group 特性的使用方法。…

【Apache POI】Java解析Excel文件并处理合并单元格-粘贴即用

同为牛马&#xff0c;点个赞吧&#xff01; 一、Excel文件样例 二、工具类源码 import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFWorkbookFactory; import org.springframework.web.multip…

【B树、B-树、B+、B*树】

目录 一、B-树&#xff08;即B树&#xff09;的定义及操作1.1、定义1.2、操作1.2.1、查找1.2.2、插入1.2.3、删除 二、B树的定义及操作2.1、定义2.2、操作2.2.1、查找2.2.2、插入2.2.3、删除 三、B*树 一、B-树&#xff08;即B树&#xff09;的定义及操作 1.1、定义 B-tree即…