基于R的Bilibili视频数据建模及分析——预处理篇

news2024/9/24 10:13:47

基于R的Bilibili视频数据建模及分析——预处理篇

文章目录

  • 基于R的Bilibili视频数据建模及分析——预处理篇
    • 0、写在前面
    • 1、项目介绍
      • 1.1 项目背景
      • 1.2 数据来源
      • 1.3 数据集展示
    • 2、数据预处理
      • 2.1 删除空数据
      • 2.2 增加id字段
      • 2.3 处理数值字段
    • 3、参考资料


在这里插入图片描述


0、写在前面

实验环境

  • Python版本:Python3.9
  • Pycharm版本:Pycharm2021.1.3
  • R版本:R-4.2.0
  • RStudio版本:RStudio-2021.09.2-382

该实验一共使用4个数据集,但文章讲述只涉及到一个数据集,并且对于每个数据集的分析,数据大小在110条左右

1、项目介绍

1.1 项目背景

Bilibili是国内比较热门的视频网站,本次实验是通过对Bilibili四个不同专区视频数据进行R使用的统计分析、聚类分析以及建模分析

1.2 数据来源

  • 数据来源于和鲸社区

https://www.heywhale.com/mw/dataset/62a45d284619d87b3b2b9147/file

数据字段描述说明

  • title:视频的标题
  • duration:视频时长
  • publisher:视频作者
  • descriptions:视频描述信息
  • pub_time:视频发布时间
  • view:视频播放量
  • comments:视频评论数
  • praise:视频点赞量
  • coins:视频投币数
  • favors:视频收藏数
  • forwarding:视频转发量

1.3 数据集展示

表单机游戏——游戏区:

在这里插入图片描述

2、数据预处理

2.1 删除空数据

整行数据为空,直接删除

tp

2.2 增加id字段

在Excel每张表的首列添加id字段,
预处理后数据展示:

tp

2.3 处理数值字段

对于view,comments,praise,coins,favors,forwarding这些数值型字段,原始数据中,1万以上的数值是以xxx.xx万的形式展示的,为方便后续统计,此处将这些类型的字段值转换为常规数字格式。

此处的预处理操作使用Python来处理,代码如下

import pandas as pd
data1 = pd.read_csv('data/videos1.csv', encoding='utf8')

print(data1.shape)
print('---------------------------------------')

# TODO 处理数值字段(view,comments,praise,coins,favors,forwarding)
import pandas as pd
import operator
data1 = pd.read_csv('data/videos1.csv', encoding='utf8')
print(data1.head(3))
print('-------------------------------------------------------')

# # TODO  id,title,duration,publisher,pub_time,view,comments,praise,coins,favors,forwarding
def operateVideos1() :
    for i in range(0, len(data1)):
        # if i == 0 :
        #     print(data1.iloc[i])
        #     print(data1.iloc[i][5])
        id = data1.iloc[i][0]
        view = data1.iloc[i][5]
        comments = data1.iloc[i][6]
        praise = data1.iloc[i][7]
        coins = data1.iloc[i][8]
        favors = data1.iloc[i][9]
        forwarding = data1.iloc[i][10]

        if operator.contains(view, '万'):
            num = int(float(view[0: len(view) - 1]) * 10000)
            data1._set_value(i, "view", num)
        if operator.contains(comments, '万'):
            num = int(float(comments[0: len(comments) - 1]) * 10000)
            data1._set_value(i, "comments", num)
        if operator.contains(praise, '万'):
            num = int(float(praise[0: len(praise) - 1]) * 10000)
            data1._set_value(i, "praise", num)
        if operator.contains(coins, '万'):
            num = int(float(coins[0: len(coins) - 1]) * 10000)
            data1._set_value(i, "coins", num)
        if operator.contains(favors, '万'):
            num = int(float(favors[0: len(favors) - 1]) * 10000)
            data1._set_value(i, "favors", num)
        if operator.contains(forwarding, '万'):
            num = int(float(forwarding[0: len(forwarding) - 1]) * 10000)
            data1._set_value(i, "forwarding", num)
    data1.to_csv('out/v1.csv', index=False)
    
operateVideos1()

预处理之后的部分数据展示:

数据集1:

tp

3、参考资料

  • 多元统计分析及R使用(第五版)

结束!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/137551.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Stable Diffusion背后原理(Latent Diffusion Models)

前言 2023年第一篇博客,大家新年好呀~ 这次来关注一下Stable Diffusion背后的原理,即 High-Resolution Image Synthesis with Latent Diffusion Models 这篇论文。 之前关注的那些工作只能工作到 256256256 \times 256256256 像素(resize成这个后才输…

设计模式简介

一、设计模式简介 编写软件过程中,程序员面临着来自耦合性,内聚性 以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的&#xf…

04SpringCloudAlibaba服务注册中心—Consul

目录 Consul简介 Consul是什么What is Consul? | Consul by HashiCorp Consul能做什么 Consul下载:Downloads | Consul by HashiCorp Consul使用:Spring Cloud Consul 中文文档 参考手册 中文版 安装并运行Consul 1、官网安装说明:In…

开发板测试手册——系统启动、文件传送操作步骤详解(1)

目 录 前 言 4 1 评估板快速测试 5 1.1 系统启动测试 5 1.2 文件传送测试 11 1.2.1 通过 Linux 系统启动卡 11 1.2.2 通过 OpenSSH 12 1.3 LED 测试 15 1.4 KEY 测试 15 1.5 DDR 读写测试 16 1.6 SD 卡读写测试 17 1.7 eMMC 读写测试 18 前 言 本指导文档适用开发…

2022 CSDN年度报告已出炉

2022年已过,我们迎来了2023年,那么在2022年,你在CSDN平台都做了些什么,收获了什么呢?2022 CSDN年度报告已出炉,来看看你的2022年度报告吧。 点此查看2022年度报告 或扫码查看你的2022 CSDN年度报告哦&…

23种设计模式(三)——策略模式【组件协作】

文章目录意图什么时候使用策略真实世界类比策略模式的实现策略模式的优缺点亦称:Strategy 意图 定义了一组策略,分别在不同类中封装起来,每种策略都可以根据当前场景相互替换,从而使策略的变化可以独立于操作者。比如我们要去某个…

Type-challenges: tuple to object / union

type-challenges/README.zh-CN.md at main type-challenges/type-challenges GitHub https://github.com/TIMPICKLE/type-challenges/blob/main/questions/00010-medium-tuple-to-union/README.zh-CN.md lets do it , mate! 首先概念澄清: JS: con…

TKE 注册节点,IDC 轻量云原生上云的最佳路径

林顺利,腾讯云原生产品经理,负责分布式云产品迭代和注册节点客户扩展,专注于云原生混合云新形态的推广实践。 背景 企业在持续业务运维过程中,感受到腾讯云 TKE 带来的便捷性和极致的使用体验,将新业务的发布以及老业…

回答问题】ChatGPT上线了!给我推荐20个比较流行的图像全景分割模型

给我推荐20个比较流行的图像全景分割模型 好的,这是 20 个比较流行的图像全景分割模型:DeepLabv3 PSPNet FCN U-Net Mask R-CNN UNet SegNet ENet ICNet ENet GCN DANet BiSeNet DenseASPP DenseASPPv2 DenseASPPv3 DenseASPPv4 DenseASPPv5 DenseASPPv…

Redis数据持久化

数据持久化 RDB (Redis DataBase) 在指定的时间间隔内将内除中的数据集快照写入磁盘,即Snapshot快照。 备份如何执行 Redis会单独创建(fork)一个子进程来执行持久化,会先将数据写入到一个临时文件,待持久化过程结束…

【嵌入式Linux环境搭建-02】虚拟机安装Ubuntu20系统

虚拟机安装 Ubuntu 系统 前面用的VMware15.5,安装完Ubuntu20.04报错,试了以下方法都不行。 建议直接安装VMware16.2,步骤和上面一样 报错 解决:VMware Workstation 与 Device/Credential Guard 不兼容_山顶夕景的博客-CSDN博客…

JS阻止事件冒泡的方法*基础原理与运用

目录 事件冒泡html布局css样式代码 非标准写法&#xff1a;IE6-8 利用事件对象cancelBubble属性 标准写法&#xff1a;利用事件对象里面的stopPropagation()方法 下拉菜单 操作方法 事件冒泡html布局css样式代码 首先创建三个嵌套的方块&#xff0c;便于案例分析 <div…

NewSQL如何解决高可用、分片?

1 什么是New SQL&#xff1f; 无论你其他方面做的比Old SQL好再多&#xff0c;SQL和ACID是刚需&#xff0c;这个命你革不掉的。你不支持SQL&#xff0c;就不会有多少人用。所以近几年很多之前不支持SQL的数据库&#xff0c;都开始支持SQL了&#xff0c;甚至于像Spark、Flink这…

自然语言处理 第十章 信息抽取 复习

信息抽取信息抽取复习重点&#xff1a;信息抽取概述从任务内容分为&#xff1a;从处理文档类型分为&#xff1a;从发展时间和处理文档分为&#xff1a;实体识别与抽取限定域命名实体识别基于规则或字典的方法 &#xff1a;规则模版&#xff08;字典&#xff09;匹配统计学习方法…

23.1、Java中的类加载器反射模块化

1.类加载器 1.1类加载 类加载的描述 当程序要使用某个类时&#xff0c;如果该类还未被加载到内存中&#xff0c;则系统会通过类的加载&#xff0c;类的连接&#xff0c;类的初始化这三个步骤来对类进行初始化。如果不出现意外情况&#xff0c;JVM将会连续完成这三个步骤&#…

spring boot 七:SpringBoot自定义配置Jackson的ObjectMapper

spring boot 七&#xff1a;SpringBoot2.5.4自定义配置Jackson的ObjectMapper 1 前言 SpringBoot底层默认使用的自动依赖注入&#xff0c;即spring-boot-autoconfigure包的META-INF下&#xff0c;存在spring.factories文件&#xff0c;里面有自动注入的jackson自动配置类。在…

[数据结构基础]栈和队列的结构及接口函数

一. 栈 1.1 栈的概念及结构 栈是一种特殊的线性表&#xff0c;其只允许在固定的一段进行插入和删除元素的操作。进行数据插入和删除的一端成为栈顶&#xff0c;另一端称为栈底。栈结构中的数据遵循先进后出原则&#xff08;LIFO&#xff1a;Last in First Out&#xff09;&am…

03 Hive概述

Hive概述1、什么是Hive2、Hive优缺点3、Hive架构原理4、Hive 和 数据库比较5、Hive计算引擎1、什么是Hive 由Facebook开源用于解决海量结构化日志的数据统计工具。 Hive是基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供 类SQ…

如何在外籍人员子女学校和同事有效工作

香港 (Xinwengao.com) — PD Academia 的 Henry Wong 在新加坡出生长大&#xff0c;在美国接受高等教育&#xff0c;现在在美国半退休。他在中国生活了16年。他与许多西方人和中国人一起工作。他始终将自己视为东方与西方的交汇点&#xff0c;是学术界与行政部门之间的桥梁。他…

刷油漆【中等】

在一个8 \times 8 的网格中&#xff0c;一些水平的行被涂成红色&#xff0c;一些垂直的列被涂成蓝色&#xff0c;条纹是按顺序画的&#xff0c;一个接着一个。绘制条纹时它会重新绘制它所经过的所有单元格。(原理跟刷油漆一样)现在你需要确定最后一个上色的是什么颜色红色条纹是…