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

news/2024/8/26 17:23:30 标签: 数据分析, pandas, 数据可视化, python

文章目录

  • 🏳️‍🌈 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)数据」 ,看看哪些作者的图书最畅销、哪些年份的图书上榜最多、上榜图书的价格分布、评论分布以及出版社分布 等,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。

涉及到的库:

🏳️‍🌈 1. 导入模块

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

🏳️‍🌈 2. Pandas数据处理

2.1 读取数据

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

在这里插入图片描述

2.2 查看数据信息

python">df.info()

在这里插入图片描述

2.3 去除重复数据

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

2.4 书名处理

python">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 提取年份

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

在这里插入图片描述

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

3.1 作者图书数量分布

在这里插入图片描述

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

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

3.2 图书出版年份分布

python">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 图书售价区间分布

python">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 电子书价格区间占比

python">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 图书评论数词云

python">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.niftyadmin.cn/n/5558357.html

相关文章

园区道路车辆智能管控视频解决方案,打造安全畅通的园区交通环境

一、背景需求分析 随着企业园区的快速发展和扩张,道路车辆管理成为了保障园区秩序、提升运营效率及确保员工安全的重要任务。针对这一需求,旭帆科技TSINGSEE青犀提出了一种企业园区道路车辆管控的解决方案,通过整合视频监控、智能识别等技术…

Qt | 绘制直线与 QLineF 类

点击上方"蓝字"关注我们 01、绘制直线 02、Qline和QLineF 【1】QLine 是整型版本,成员函数较少,QLineF 是精度更高的浮点型版本,本文以 QLineF 类 进行讲解。 QLineF 类提供了一个二维向量,使用 QLineF 类绘制直线可以利用该类中的成员函数方便 的对线条的属…

redis安装,启动客户端、验证(redis第一次作业)

Redis简介 全称: mote ctionary erver (远程字典服务器)。是完全开源免费的,用 C 语言编写的,遵守 BSD协议。是一个高性能的 (key/value) 分布式内存数据库,基于内存运行并支持持久化的 NoSQL 数据库&#…

京东Android一面凉经(2024)

京东Android一面凉经(2024) 笔者作为一名双非二本毕业7年老Android, 最近面试了不少公司, 目前已告一段落, 整理一下各家的面试问题, 打算陆续发布出来, 供有缘人参考。今天给大家带来的是《京东Android一面凉经(2024)》。 面试职位: Android开发工程师 技术一面 面试时长: 50…

Pytorch学习笔记day1—— 安装教程

这里写自定义目录标题 Pytorch安装方式 工作需要,最近开始搞一点AI的事情。但是这个国产的AI框架,实话说对初学者不太友好 https://www.mindspore.cn/ 比如说它不支持win下的CUDA,可是我手里只有3070Ti和4060也不太可能自己去买昇腾就有点绷不…

DVC+Minio

由于参数文件比较大,因此onnx、engine等大文件弃用LFS管理,改用dvc管理: minio就是存储用的 启动miniosudo netstat -ntpl#查看端口号 sudo kill -9 $(sudo lsof -i:5061 -t) 关闭端口对应进程 ./minio server --console-address ":6570…

PY32F002B单片机 ISP 串口下载注意事项

一、PY32F002B ISP 串口下载的连接方式 仿真上的 VCC 和 GND 连接到 MCU 的 VCC 和 VSS, 仿真的 TX 接 MCU 的 RX,RX 接 MCU 的 TX。 二、因为 PY32F002B 没有 BOOT,需要用 ISP 串口下载的话需要下载串口引导程序。 下载这个目录下的 IAP…

C++基础知识:C++内存分区模型,全局变量和静态变量以及常量,常量区,字符串常量和其他常量,栈区,堆区,代码区和全局区

1.C内存分区模型 C程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的(在编译器中所书写的代码都会存放在这个空间。) 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分…