【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. 可视化项目源码+数据

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


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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

openeuler 终端中文显示乱码、linux vim中文乱码

1、解决终端乱码 网上很多教程试了都不生效,以下方法有效: 确认终端支持中文显示: echo $LANG 输出应该包含 UTF-8,例如 en_US.UTF-8。如果不是,您可以通过以下命令设置为 UTF-8: export LANGzh_CN.UTF-8…

昇思25天学习打卡营第12天|Vision Transformer图像分类、SSD目标检测

Vision Transformer(ViT)简介 近些年,随着基于自注意(Self-Attention)结构的模型的发展,特别是Transformer模型的提出,极大地促进了自然语言处理模型的发展。由于Transformers的计算效率和可扩…

【数据结构(邓俊辉)学习笔记】高级搜索树02——B树

文章目录 1. 大数据1.1 640 KB1.2 越来越大的数据1.3 越来越小的内存1.4 一秒与一天1.5 分级I/O1.6 1B 1KB 2. 结构2.1 观察体验2.2 多路平衡2.3 还是I/O2.4 深度统一2.5 阶次含义2.6 紧凑表示2.7 BTNode2.8 BTree 3. 查找3.1 算法过程3.2 操作实例3.3 算法实现3.4 主次成本3.…

django踩坑(四):终端输入脚本可正常执行,而加入crontab中无任何输出

使用crontab执行python脚本时,有时会遇到脚本无法执行的问题。这是因为crontab在执行任务时使用的环境变量与我们在终端中使用的环境变量不同。具体来说,crontab使用的环境变量是非交互式(non-interactive)环境变量,而终端则使用交互式(inter…

【Map和Set】

目录 1,搜索树 1.1 概念 1.2 查找 1.3 插入 1.4 删除(难点) 1.5 性能分析 1.6 和 java 类集的关系 2,搜索 2.1 概念及场景 2.2 模型 3,Map 的使用 3.1 关于Map的说明 3.2 关于Map.Entry的说明 3.3 Map的…

JAVA-----异常处理

一、定义 在 Java 中,异常(Exception)是指程序在执行过程中遇到的不正常情况,这些情况可能导致程序无法继续执行或产生错误的结果。异常可以是 Java 标准库中提供的内置异常类,也可以是开发人员自定义的异常类。 二、…

小程序-2(WXML数据模板+WXSS模板样式+网络数据请求)

目录 1.WXML数据模板 数据绑定 事件绑定 小程序中常用的事件 事件对象的属性列表 target和currentTarget的区别 bindtap的语法格式 在事件处理事件中为data中的数据赋值 事件传参与数据同步 事件传参 bindinput的语法绑定事件 文本框和data的数据同步 条件渲染 w…

Spring Data Redis + Redis数据缓存学习笔记

文章目录 1 Redis 入门1.1 简介1.2 Redis服务启动与停止(Windows)1.2.1 服务启动命令1.2.2 客户端连接命令1.2.3 修改Redis配置文件1.2.4 Redis客户端图形工具 2. Redis数据类型2.1 五种常用数据类型介绍 3. Redis常用命令3.1 字符串操作命令3.2 哈希操作…

数据库的约束条件和用户管理

约束条件: 主键:主键约束 primary key 用于标识表中的主键列的值,而且这个值是全表当中唯一的,而且只不能为null 一个表只能有一个主键。 外键:用来建立表与表之间的关系。确保外键中的值于另一个表的主键值匹配&a…

golang AST语法树解析

1. 源码示例 package mainimport ("context" )// Foo 结构体 type Foo struct {i int }// Bar 接口 type Bar interface {Do(ctx context.Context) error }// main方法 func main() {a : 1 }2. Golang中的AST golang官方提供的几个包,可以帮助我们进行A…

集线器、交换机、路由器的区别,冲突域、广播域

冲突域 定义:同一时间内只能有一台设备发送信息的范围。 分层:基于OSI模型的第一层物理层。 广播域 定义:如果某个站点发出一个广播信号,所有能接受到这个信号的设备的范围称为一个广播域。 分层:基于OSI模型的第二…

为ppt中的文字配色

文字的颜色来源于ppt不可删去的图像的颜色 从各类搜索网站中搜索ppt如何配色,有如下几点: 1.可以使用对比色,表示强调。 2.可以使用近似色,使得和谐统一。 3.最好一张ppt中,使用的颜色不超过三种主要颜色。 但我想强调…

第二证券:电影暑期档持续升温 农机自动驾驶驶入快车道

农机自动驾驶打开驶入快车道 得益于农机补贴、土地流通、高标准农田制造等方针引导,叠加技术突围和用户降本增效的内生需求,我国正处于农业2.0向农业3.0的过渡阶段。其间农机自动驾驶系统是结束农业3.0(即自动化)的要害并迎来快速…

【瑞吉外卖 | day07】移动端菜品展示、购物车、下单

文章目录 瑞吉外卖 — day71. 导入用户地址簿相关功能代码1.1 需求分析1.2 数据模型1.3 代码开发 2. 菜品展示2.1 需求分析2.2 代码开发 3. 购物车3.1 需求分析3.2 数据模型3.3 代码开发 4. 下单4.1 需求分析4.2 数据模型4.3 代码开发 瑞吉外卖 — day7 移动端相关业务功能 —…

Java实验4

实验内容 考试题 要求在一个界面内至少显示5道选择题,每道题4个选项。题目从数据库读取。表结构自定义。 另有2个命令按钮,分别为“重新答题”(全部选项及正确答题数清空)和“提交”(计算),在…

【芯片设计- RTL 数字逻辑设计入门 9.1 -- CRG模块】

请阅读【芯片设计 RTL 数字逻辑设计扫盲 】 转自:芯片设计基础 – CRG模块 文章目录 CRG模块CRG时钟系统CRG复位系统同步复位同步复位的优点同步复位的缺点 异步复位异步复位的优点异步复位的缺点 异步复位同步释放 CRG模块 CRG是芯片里的时钟和复位生成模块&#…

27.js实现鼠标拖拽

e.offsetX是鼠标距离准确事件源的左上角距离 e.clientX是鼠标距离浏览器可视窗口左上角的距离 e.pageX是鼠标距离文档左上角的距离 /* 当鼠标点击div时开始挪动,当鼠标抬起,div静止——事件源是div 当鼠标点击后,鼠标在移动——事件源…

Web开发:卡片翻转效果(HTML、CSS)

目录 一、实现效果 二、完整代码 三、实现过程 1、页面结构 2、初始样式 3、翻转效果 4、图片大小问题 一、实现效果 如下图所示,当鼠标移入某个盒子,就反转这个盒子,并显示其背面的内容——卡片翻转效果; 卡片翻转效果 二…

【STM32 IDE】使用STM32CubeIDE创建一个工程

关于IDE的下载安装和环境配置这里暂且不介绍,我们直接使用STM32F407ZGT6创建工程。 这里需要注意两点: 创建工程时,默认使用最新版本的固件包(HAL库),好像还不让更改。如果本地电脑位置没有该版本的包&…

webpack优化

优化方向 热更新 概念 /** hmr: hot module replacement 热模块替换 / 模块热更新作用: 一个模块发生改变,只会重新打包这一个模块(而不是打包所有模块),极大的提升了构建速度样式文件: 可以使用hmr功能…