2.5. 保存数据到本地
# 将评论数据保存本地def save_csv(df):file_name = '评论数据.csv'if os.path.exists(file_name):df.to_csv(file_name, mode='a', header=False,index=None, encoding='utf_8_sig')else:df.to_csv(file_name, index=None, encoding='utf_8_sig')print('数据保存完成!')
3. 数据统计与可视化展示
本次的数据统计与可视化展示方法可以参考此前推文《》和《》等
3.1. 数据预览
抽样5条看看
df.sample(5)
看看数据信息
df.info()
文章插图
才哥也进行了评论,我们看看是不是采集到了
才哥的为,我们查询一下,发现才哥VIP等级居然6级啦
df.query('userid==1296690233')
head字段是头像,我们看看是不是才哥头像
from skimage import io# 显示头像img_url = df.query('userid==1296690233')['head'].iloc[0]image = io.imread(img_url)io.imshow(image)
对上了,对上了!!
3.2. 分集评论数
绘图参考《》,所以我们这里是绘制带交互的可视化图,引入环境:
import pandas as pdimport pandas_bokehpandas_bokeh.output_notebook()pd.set_option('plotting.backend', 'pandas_bokeh')
接下来,正式的数据统计与可视化展示开始
from bokeh.transform import linear_cmapfrom bokeh.palettes import Spectralfrom bokeh.io import curdoc# curdoc().theme = 'caliber'episode_comment_num = df.groupby('剧集')['id'].nunique().to_frame('评论数')y = episode_comment_num['评论数']mapper = linear_cmap(field_name='评论数', palette=Spectral[11] ,low=min(y) ,high=max(y))episode_bar = episode_comment_num.plot_bokeh.bar(ylabel="评论数量", title="分集评论数", color=mapper,alpha=0.8,legend=False)
我们可以看到,第一集评论数最高,高达1.7万,占了全部评论的一半;其次是第7集的评论数,主要是本周播到了第7集哈!
3.3. 分日期评论数
df['日期'] = pd.to_datetime(df.time).dt.datedate_comment_num = df.groupby('日期')['id'].nunique().to_frame('评论数')date_comment_num.index = date_comment_num.index.astype('string')y = date_comment_num['评论数']mapper = linear_cmap(field_name='评论数', palette=Spectral[11] ,low=min(y) ,high=max(y))date_bar = date_comment_num.plot_bokeh.bar(ylabel="评论数量", title="分日期评论数", color=mapper,alpha=0.8,legend=False)
从8月30日开播,首播当天会员可看5集,作为会员的我一口气就看完了 。我们发现开播后前2天评论数较多,由于每周1-3更新,所以这几天的评论数整体也较高 。
- 云服务器收费,租用阿里云服务器费用会计怎么核算
- 云服务器是干什么的,云服务器是干什么用的
- 全球最大商用车制造商,揭秘戴姆勒卡车,这几个品牌竟然是兄弟? 世界十大重型卡车
- 世界十大牙膏品牌,你用对了吗? 中国十大牙膏品牌
- 自走棋排行第一的是谁,刀塔自走棋实战对局局势分析
- 舒耐止汗露,舒耐止汗露好用吗
- python中index函数的使用
- 12v2.5a用24v2a代替可以吗
- 电蚊拍怎么使用灭蚊子 电子灭蚊拍怎么用
- pythonindex函数