文章目录
大家好,我是 👉【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 图书出版年份分布
defget_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 图书售价区间分布
defget_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 电子书价格区间占比
defget_pie():
chart =(
Pie().add("",[list(z)for z inzip(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 图书评论数词云
defget_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. 可视化项目源码+数据
点击跳转:【全部可视化项目源码+数据】
以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享(注明出处)让更多人知道。
版权归原作者 Python当打之年 所有, 如有侵权,请联系我们删除。