豆瓣读书数据分析实战

数据爬取请参考:
Python分布式爬虫实战 - 豆瓣读书

本次分析内容:

  1. 分析所有书籍评分情况
  2. 热门书籍TOP20
  3. 书名高频词汇
  4. 作者出版书数量TOP20
  5. 每年出版书籍数量分布
  6. 热评作者TOP20
  7. 每年出版最受欢迎的类别
  8. 书籍最多的分类TOP20
  9. 热评分类TOP20

为了每段代码都可复制直接使用,所以每段代码都重复导入一次pyecharts 模块…

# 首先导入需要用到的模块
import pandas as pd
import numpy as np
import pymysql,re
import matplotlib.pyplot as plt
%matplotlib inline
  • 读取数据库数据
conn = pymysql.connect("localhost","root","123456","douban")
douban_data = pd.read_sql("select * from information",conn)
  • 去重
douban_data.drop_duplicates("name",keep="first",inplace=True)

1.分析所有书籍评分情况

  • 对评分进行分组,并对评分进行统计
score_count = douban_data.groupby("score")["score"].count()
  • 散点图
from pyecharts.charts import Scatter
from pyecharts import options as opts
from pyecharts.globals import ThemeType
# 对评分进行分组,并对评分进行统计
score_count = douban_data.groupby("score")["score"].count()
# 创建散点图对象,并设置主题模式为ESSOS
scatter = Scatter(init_opts=opts.InitOpts(theme=ThemeType.ESSOS))
# 添加x轴数据,要求类型为python列表类型
scatter.add_xaxis(score_count.index.tolist())
# 添加标签名和y轴数据类型同上
scatter.add_yaxis("score rating",score_count.values.tolist())
# 全局配置
scatter.set_global_opts(
    # 配置x轴为数值轴(默认为cate类型轴)
    xaxis_opts=opts.AxisOpts(type_="value"),
    # 添加可拖动滚动条
    datazoom_opts=opts.DataZoomOpts(is_show=True)
)

# 系列配置
scatter.set_series_opts(
    # 设置不显示每个点上的数字
    label_opts=opts.LabelOpts(is_show=False),
    # 设置3条虚线 分别是最大值,最小值,平均值
    markline_opts=opts.MarkLineOpts(data=[
        opts.MarkLineItem(type_="max",name="最大值"),
        opts.MarkLineItem(type_="min",name="最小值"),
        opts.MarkLineItem(type_="average",name="平均值")
])
)
# 生成图像,可以使用render(patch="c:\123.html") 生成HTML文件
scatter.render_notebook()

评分大部分集中在7.8-8.2左右

  • 使用柱状图展示更为清晰
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
# 这次配置不一样的主题
bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
# 添加x轴数据
bar.add_xaxis(score_count.index.tolist())
# 添加y轴数据(同样是列表类型)
bar.add_yaxis("score rating",score_count.values.tolist())
bar.set_global_opts(
    # 不多作解释了,就是开启图片最底下可以拖动的那个滚动条
    datazoom_opts=opts.DataZoomOpts(is_show=True)
)
bar.set_series_opts(
    label_opts=opts.LabelOpts(is_show=False),
    markline_opts=opts.MarkLineOpts(data=[
        opts.MarkLineItem(type_="max",name="最大值"),
        opts
### 回答1: 豆瓣电影数据分析实战需要对豆瓣电影网站上的电影数据进行收集、整理、分析和可视化,以了解电影市场的趋势,评估电影的受欢迎程度和质量等方面。具体的需求如下: 1. 数据收集:从豆瓣电影网站上收集电影的基本信息、评分、评论等数据。 2. 数据整理:对收集到的数据进行清洗、去重、补全等处理,使其符合分析需求。 3. 数据分析:使用统计学方法和机器学习算法对电影数据进行分析,例如:分析电影类型、地区、时间趋势,分析电影评分分布、受众群体等。 4. 可视化展示:将数据分析结果以图表、地图等形式进行可视化展示,让用户更直观地了解电影市场的情况。 5. 用户画像分析:根据用户评论数据进行用户画像分析,了解不同类型电影的受众群体特征,为电影推广和营销提供参考。 6. 推荐算法:运用协同过滤、基于内容的推荐等算法,为用户推荐更符合其兴趣和口味的电影。 ### 回答2: 豆瓣电影数据分析实战的需求分析主要包括以下几个方面。 首先,需要对豆瓣电影的数据进行采集和清洗。采集可以使用网络爬虫技术获取豆瓣电影的相关信息,如电影名称、导演、演员、评分、评论等。在进行数据清洗的过程中,需要处理缺失值、重复值、错误值等问题,以保证后续分析的准确性和可靠性。 其次,需要进行对电影数据的统计分析。可以对电影评分进行平均值、中位数等统计指标的计算,以了解豆瓣电影的评分分布情况。还可以通过对不同类型电影的评分进行对比,探究不同类型电影的受欢迎程度。此外,还可以对导演和演员进行统计分析,比如哪些导演/演员的电影评分更高,哪些导演/演员的电影更受欢迎等。 第三,需要进行电影数据的可视化展示。可以利用柱状图、折线图、饼图等可视化手段展示电影评分分布、不同类型电影的评分对比、导演/演员的电影数量等信息,使分析结果更加直观和易于理解。 最后,可以进行电影推荐系统的开发。通过分析用户对电影的评分和评论,可以利用机器学习和推荐算法为用户推荐个性化的电影。例如,可以根据用户的历史评分记录,利用协同过滤算法预测用户对未评分电影的评分,并推荐评分较高的电影给用户。 综上所述,豆瓣电影数据分析实战的需求分析主要包括数据采集和清洗、统计分析、可视化展示以及电影推荐系统的开发等方面,通过这些分析和应用手段,可以更好地了解豆瓣电影的评分情况、导演演员的影响力,同时为用户提供个性化的电影推荐服务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值