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

yizhihongxing

一、爬取老番茄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

相关文章

  • 【2023最新B站评论爬虫】用python爬取上千条哔哩哔哩评论

    目录 一、爬取目标 二、展示爬取结果 三、爬虫代码 四、同步视频 五、附完整源码 您好,我是@马哥python说,一枚10年程序猿。 一、爬取目标 之前,我分享过一些B站的爬虫:【Python爬虫案例】用Python爬取李子柒B站视频数据【Python爬虫案例】用python爬哔哩哔哩搜索结果【爬虫+情感判定+Top10高频词+词云图】”谷爱凌”热门弹幕py…

    2023年4月2日
    00
  • 【拖拽可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!

    目录 一、设计方案 二、项目背景 三、电影爬虫 3.1 导入库 3.2 发送请求 3.3 解析页面 3.4 存储到csv 3.5 讲解视频 四、数据持久化存储 4.1 导入库 4.2 存入MySQL 4.3 讲解视频 五、开发可视化大屏 5.1 柱形图 5.2 饼图 5.3 词云图 5.4 数据表格 5.5 涟漪散点图 5.6 条形图 5.7 大标题 5.8…

    2023年4月2日
    00
  • 【爬虫+数据清洗+可视化分析】舆情分析哔哩哔哩”阳了”的评论

    目录 一、背景介绍 二、爬虫代码 2.1 展示爬取结果 2.2 爬虫代码讲解 三、可视化代码 3.1 读取数据 3.2 数据清洗 3.3 可视化 3.3.1 IP属地分析-柱形图 3.3.2 评论时间分析-折线图 3.3.3 点赞数分布-直方图 3.3.4 评论内容-情感分布饼图 3.3.5 评论内容-词云图 三、演示视频 四、附完整源码 一、背景介绍 您好…

    2023年4月2日
    00
  • 【爬虫+情感判定+Top10高频词+词云图】“谷爱凌”热门弹幕python舆情分析

    目录 一、背景介绍 二、代码讲解-爬虫部分 2.1 分析弹幕接口 2.2 讲解爬虫代码 三、代码讲解-情感分析部分 3.1 整体思路 3.2 情感分析打标 3.3 统计top10高频词 3.4 绘制词云图 3.5 情感分析结论 四、同步讲解视频 五、附完整源码 一、背景介绍 最近几天,谷爱凌在冬奥会赛场上夺得一枚宝贵的金牌,为中国队贡献了自己的荣誉! 针对此…

    2023年4月2日
    00
  • 【保姆级Python入门教程】马哥手把手带你安装Python、安装Pycharm、环境配置教程

    您好,我是 @马哥python说 ,一枚10年程序猿。 我的社群中小白越来越多,咨询讨论的问题很多集中在python安装上,故输出此文,希望对大家起步有帮助。 下面开始,先安装Python,再安装pycharm,咱一步一步来。 一、安装Python解释器 1、打开python官网下载地址:https://www.python.org/downloads/ 「…

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

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

    Python开发 2023年4月2日
    00
  • 【11个适合毕设的Python可视化大屏】用pyecharts开发拖拽式可视化数据大屏

    你好,我是@马哥python说,一枚10年程序猿。 一、效果演示 以下是我近期用Python开发的原创可视化数据分析大屏,非常适合毕设用,下面逐一展示:(以下是截图,实际上有动态交互效果哦) 以下大屏均为@马哥python说的个人原创,请勿转载。 1.1 影视剧分析大屏 1.2 豆瓣电影分析大屏A 1.3 豆瓣电影分析大屏B 1.4 58同城房源分析大屏 1…

    python 2023年5月10日
    00
  • pyecharts世界地图用:国家中英文对照表.xlsx

    用pyecharts画Map或者Geo,需要用到的国家中英文对照表: 英文 中文 Zimbabwe 津巴布韦 Zambia 赞比亚 Yugoslavia 南斯拉夫 Yemen 也门 Western Sahara 西撒哈拉 Wallis and Futuna 瓦利斯群岛和富图纳群岛 W. Sahara 西撒哈拉 Vietnam 越南 Venezuela 委内瑞…

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