11-18 《演员请就位》弹幕数据分析

数据分析步骤

1.原始数据 ---数据量大
	
2.数据清洗--- 爬取的数据格式不一致,异常值,缺失值
	
3.分析数据--可视化

4.得出结论

内容:

1、导入模块/库

import os
import numpy as np
import pandas as pd
from pyecharts.charts import Bar,Pie,Line
  # Bar 柱形图 Pie 饼图 line 折线图
# pyecharts 库作图 会生成html文件,图有交互效果

2、原始数据的获取

data=pd.read_excel(r'C:\database\ODF PS Height 线上管控Spec1.xlsx',decoding='UTF-8')
#只能读取一个文件,当有多个文件需要读取时,将文件夹中的多个文件
制作成一个列表,然后循环比遍历读取
data_list=os.listdir('.data/') #

df_all=pd.DataFrame() # 声明一个空的,为后续append进去
for i in data_list:
    print(i)
    df_one=pd.read_csv(f'.data/{i}',decoding='UTF-8')
    print(df_all) 
    # df_all两次前后打印是不一样的,后边的df_all有内容得更新,内存地址一样
    data_all=df_all.append(df_one,ignore_index=False)

print(df_all.shape)
    
df_all.info() # info() 查看数据所有信息 

3、 数据清洗

#1.删除掉弹幕角色
df_all['content']=df_all['content'].str.replace((.*?),'')
df_all.head(5)

#2.统计每期中 epsiodes的出现次数(默认从大到小排序),重置索引
df_epinum=df_all['episodes'].value_counts().reset_index()
df_epinum['num']=[1,5,3,7,6,8,4,9,2,10]
df_epinum=df_epinum.sort_values['num']
df_epinum


#3根据清洗结果数据绘制可视化图表

#3-1 选取合适的数据(x,y)
x_data=df_epinum['index'].tolist() 
# pandas处理的数据类型都是 series或者 DataFrame ,pyecharts作图只能利用list数据
y_data=df_epinum['episodes'].tolist()

4、绘制图形

#3根据清洗结果数据绘制可视化图表

#3-1 选取合适的数据(x,y)
x_data=df_epinum['index'].tolist() 
# pandas处理的数据类型都是 series或者 DataFrame ,pyecharts作图只能利用list数据
y_data=df_epinum['episodes'].tolist()

#条形图
bar1=Bar()
bar1.add_xaxis(xaxis_data=x_data)
bar1.add_yaxis('',yaxis=y_data)
bar1.set_global_opts(title_opts=opts.TitleOpts(title='前五期的弹幕数走势图'),visualmap_opts=opts.VisualMapOpts(max=60000,is_show=False))
bar1.render() #当前目录下生成html 文件

错误集合:

# 错误集合
# OSError : Initializing from file failed

# 1.解释器比较多的时候,读取文件时指定解释器 engine=python
#2.读取时候编码问题 出现乱码

猜你喜欢

转载自blog.csdn.net/weixin_46400833/article/details/109761111