【Python数据分析案例】python数据分析老番茄B站数据(pandas常用基础数据分析代码)

一、爬取老番茄B站数据

前几天开发了一个python爬虫脚本,成功爬取了B站李子柒的视频数据,共142个视频,17个字段,含:

视频标题,视频地址,视频上传时间,视频时长,是否合作视频,视频分区,弹幕数,播放量,点赞数,投币量,收藏量,评论数,转发量,实时爬取时间

基于这个Python爬虫程序,我更换了up主的UID,把李子柒的uid换成了老番茄的uid,便成功爬取了老番茄的B站数据。共393个视频,17个字段,字段同上。
这里展示下爬取到的前20个视频数据:
【Python数据分析案例】python数据分析老番茄B站数据(pandas常用基础数据分析代码)
基于爬取的老番茄B站数据,用python做了以下基础数据分析的开发。

二、python数据分析

1、读取数据源

import pandas as pd
df = pd.read_excel('B站视频数据_老番茄.xlsx', parse_dates=['视频上传时间', '实时爬取时间'])  # 读取excel数据

2、查看数据概况

df.head(3)  # 查看前三行数据
df.shape  # 查看形状,几行几列
df.info()  # 查看列信息
df.describe()  # 数据分析
df['是否合作视频'].value_counts()  # 统计:是否合作视频
df['视频分区'].value_counts()  # 统计:视频分区

3、查看异常值

df2 = df[['视频标题', '视频地址', '弹幕数', '播放量',
          '点赞数', '投币量', '收藏量', '评论数', '转发量', '视频上传时间']]  # 去掉不关心的列
df2.loc[df.评论数 == 0]  # 评论数是0的数据
df2.isnull().any()  # 空值
df2.duplicated().any()  # 重复值

4.1、查看最大值(max函数)

df2.loc[df.播放量 == df['播放量'].max()]  # 播放量最高的视频
df2.loc[df.弹幕数 == df['弹幕数'].max()]  # 弹幕数最高的视频

4.2、查看最小值(min函数)

df2.loc[df.投币量 == df['投币量'].min()]  # 投币量最小的视频
df2.loc[df.收藏量 == df['收藏量'].min()]  # 收藏量最小的视频

5.1、查看TOP3的视频(nlargest函数)

df2.nlargest(n=3, columns='播放量')  # 播放量TOP3的视频
df2.nlargest(n=3, columns='投币量')  # 投币量TOP3的视频

5.2、查看倒数3的视频(nsmallest函数)

df2.nsmallest(n=3, columns='评论数')  # 评论数倒数3的视频
df2.nsmallest(n=3, columns='转发量')  # 转发量倒数3的视频

6、查看相关性

# 查看spearman相关性(得出结论:收藏量&投币量,相关性最大,0.98)
df2.corr(method='spearman')  

【Python数据分析案例】python数据分析老番茄B站数据(pandas常用基础数据分析代码)

7.1、可视化分析-plot

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 显示中文标签  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
# 可视化效果不好
df2.plot(x='视频上传时间', y=['弹幕数', '播放量', '点赞数', '投币量', '收藏量', '评论数', '转发量'])

【Python数据分析案例】python数据分析老番茄B站数据(pandas常用基础数据分析代码)

7.2、可视化分析-pyecharts

from pyecharts.charts import Line  # 折线图所导入的包
from pyecharts import options as opts  # 全局设置所导入的包
time_list = df2['视频上传时间'].astype(str).values.tolist()
line = (
    Line()  # 实例化Line
    # 加入X轴数据
    .add_xaxis(time_list)
    # 加入Y轴数据
    .add_yaxis("弹幕数", df2['弹幕数'].values.tolist())
    .add_yaxis("播放量", df2['播放量'].values.tolist())
    .add_yaxis("点赞数", df2['点赞数'].values.tolist())
    .add_yaxis("投币量", df2['投币量'].values.tolist())
    .add_yaxis("收藏量", df2['收藏量'].values.tolist())
    .add_yaxis("评论数", df2['评论数'].values.tolist())
    .add_yaxis("转发量", df2['转发量'].values.tolist())
    .set_global_opts(title_opts=opts.TitleOpts(title="老番茄B站数据分析"),
                     legend_opts=opts.LegendOpts(is_show=True),
                     )
    # 全局设置项
)

【Python数据分析案例】python数据分析老番茄B站数据(pandas常用基础数据分析代码)

至此,基础数据分析工作完成了。

三、同步讲解视频

逐行代码视频讲解:
https://www.zhihu.com/zvideo/1455460990275567616

四、附完整源码

附完整源码:点击这里完整源码


更多案例源码 -> 马哥python说

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:【Python数据分析案例】python数据分析老番茄B站数据(pandas常用基础数据分析代码) - Python技术站

(0)
上一篇 2023年4月2日 下午5:39
下一篇 2023年4月2日 下午5:39

相关文章

  • 【爬虫+情感判定+Top10高频词+词云图】“刘畊宏“热门弹幕python舆情分析

    目录 一、背景介绍 二、代码讲解-爬虫部分 2.1 分析弹幕接口 2.2 讲解爬虫代码 三、代码讲解-情感分析部分 3.1 整体思路 3.2 情感分析打标 3.3 统计top10高频词 3.4 绘制词云图 3.5 情感分析结论 四、同步演示视频 五、附完整源码 一、背景介绍 最近一段时间,刘畊宏真是火出了天际,引起一股全民健身的热潮,毕竟锻炼身体,是个好事!…

    2023年4月2日
    00
  • 【GUI开发案例】用python爬百度搜索结果,并开发成exe桌面软件!

    目录 一、背景介绍 1.1 老版本 1.2 爬取目标 1.3 软件运行截图 1.4 爬取数据 1.5 实现思路 二、代码讲解 2.1 爬虫 2.2 软件界面 2.3 日志模块 三、软件运行演示 四、完整源码 一、背景介绍 你好,我是 @马哥python说 ,一名10年程序猿。 1.1 老版本 之前我开发过一个百度搜索的python爬虫代码,具体如下:【pyt…

    2023年4月2日
    00
  • 【可视化大屏教程】用Python开发智慧城市数据分析大屏!

    目录 一、开发背景 二、讲解代码 2.1 大标题+背景图 2.2 各区县交通事故统计图-系列柱形图 2.3 图书馆建设率-水球图 2.4 当年城市空气质量aqi指数-面积图 2.5 近7年人均生产总值变化图-面积图 2.6 城市人才占比结构图-柱形图 2.7 城市宣传片视频-大屏左上角位置 2.8 组合以上图表,生成临时大屏 2.9 生成最终大屏 2.10 …

    2023年4月2日
    00
  • 【NLP教程】用python调用百度AI开放平台进行情感倾向分析

    目录 一、背景 二、操作步骤 2.1 创建应用 2.2 获取token 2.3 情感倾向分析 三、其他情感分析 四、讲解视频 一、背景 Hi,大家!我是 @马哥python说 ,一名10年程序猿。 今天我来演示一下:通过百度AI开放平台,利用python调用百度接口进行中文情感倾向分析,并得出情感极性分为积极、消极还是中性以及置信度结果。 二、操作步骤 首先…

    python 2023年4月25日
    00
  • 【GUI开发】用python爬YouTube博主信息,并开发成exe软件!

    目录 一、背景介绍 二、代码讲解 2.1 爬虫 2.2 tkinter界面 2.3 存日志 三、说明 一、背景介绍 你好,我是@马哥python说,一名10年程序猿。 最近我用python开发了一个GUI桌面软件,目的是爬取相关YouTube博主的各种信息,字段包括: 视频标题、视频链接、博主名称、博主链接、国家、telegram链接、whatsapp链接、…

    2023年4月2日
    00
  • 【Python爬虫技巧】快速格式化请求头Request Headers

    你好,我是 @马哥python说 。我们在写爬虫时,经常遇到这种问题,从目标网站把请求头复制下来,粘贴到爬虫代码里,需要一点一点修改格式,因为复制的是字符串string格式,请求头需要用字典dict格式:下面介绍一种简单的方法。首先,把复制到的请求头放到一个字符串里: # 请求头 headers = “”” Accept: text/html,applica…

    2023年4月2日
    00
  • 详细剖析pyecharts大屏的Page函数配置文件:chart_config.json

    目录 一、问题背景 二、揭开json文件神秘面纱 三、巧用json文件 四、关于Table图表 五、同步讲解视频 5.1 讲解json的视频 5.2 讲解全流程大屏的视频 5.3 讲解全流程大屏的文章 一、问题背景 前情提要(第5.8章节): 【Python可视化大屏】全流程揭秘实现可视化数据大屏的背后原理! 在用Page函数拖拽组合完大屏时,点击页面左上角…

    2023年4月2日
    00
  • 【python爬虫案例】爬取微博任意搜索关键词的结果,以“唐山打人”为例

    目录 一、爬取目标 二、展示爬取结果 三、讲解代码 四、同步视频 4.1 演示视频 4.2 讲解视频 五、附:完整源码 一、爬取目标 大家好,我是马哥。 今天分享一期python爬虫案例,爬取目标是新浪微博的微博数据,包含: 页码, 微博id, 微博bid, 微博作者, 发布时间, 微博内容, 转发数, 评论数, 点赞数 经过分析调研,发现微博有3种访问方式…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部