惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
L
LangChain Blog
F
Fortinet All Blogs
C
Check Point Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Help Net Security
J
Java Code Geeks
月光博客
月光博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
宝玉的分享
宝玉的分享
Jina AI
Jina AI

WSH

凑数日子 2026年,大概将会是最后一个人口保持在14亿以上的年份 感谢之人 数字经济中的注意力交易 突然的噩耗 一株洋瓜藤 再见到姑妈 港澳掠影 Miniflux 中文搜索能力增强 慢慢吹~~~轻轻送~~~ 房子梦 探索云南-大理 证书过期导致的错误 过年被追问工资 在秋天开始 水里的鱼 斩断联系1 云南壮族婚恋 我有一颗乳牙 世界的底色是争,抢,偷 无题4 无题3 人来人往 AI见闻 无题2 滇池掠影 WebGIS 三维空间分析之参考超图实现的天际线分析 我原来是个同步单线程 往事如烟1
QQ音乐评论可视化
WSH · 2021-04-30 · via WSH

目录

    • 数据预处理
    • 年份可视化
    • 月份可视化
    • 每日可视化
    • 时段可视化

以前写的可视化记录。

评论是我几天前爬取的,歌曲是周董的《轨迹》,一开始想使用snownlp作情感分析,但我看了下评论内容,情感倾向很明显,没有分析的必要。这些数据都带有评论时间,也算是时间序列数据,正好拿它作可视化展示。

本记录针对爬取的QQ音乐评论作可视化展示,按时间颗粒度划分如下:

  • 年份可视化 聚合每年产生的评论数据
  • 月份可视化 聚合每月产生的评论数据
  • 每日可视化 将每日产生的评论数据可视化
  • 时段可视化 聚合一天之内每时段的评论数据,时段按时间线分为:凌晨、上午、中午、下午、晚上和深夜

目录

[TOC]


数据预处理

首先来看数据,总共有12673条记录,包含三个维度,分别为昵称、评论内容、评论日期。通过info函数查看信息,发现三个维度非空数目不一致,每个维度均有缺失值。如果日期缺失,势必会影响接下来的聚合,使用ffill方法向前填充,将缺失值的前一个值填充为自己的值。

img

img

info查看信息

img

年份可视化

使用resample方法向下采样,然后聚合,统计每年的评论个数。清洗好数据后,统计每年产生的数量,之后使用pyecharts绘制条形图,它是基于百度开源的JavaScript绘图库echarts的Python封装,感兴趣的同学请移步至官方文档,此处不再详细介绍。

img

img

最早只爬取到2017年的评论,最新是2021年4月27日,四年间年评论量分布不均匀,2017年最少,最大还不知道,因为2021年还没完呢。

月份可视化

同一个函数进行向下重采样,只是参数不一致而已,聚合统计后使用matploblib绘制折线图统计图,代码如下:

img

img点击并拖拽以移动

每日可视化

还是那个resample函数,将每年的每一天中产生的评论聚合,共五年(2017-2021),但2017年和2021年不全,数据记录有点大,使用日历图作可视化,代码如下:

img

img

img

img

img

img

时段可视化

将一天24个小时分为6个时段,划分如下:

  • 03:00----06:00----凌晨
  • 06:00----12:00----下午
  • 12:00----14:00----中午
  • 14:00----19:00----下午
  • 19:00----22:00----晚上
  • 22:00----03:00----深夜

每条记录包含日期和时间,精确到分钟,如何把小时数给提取出来呢,Pandas目前我好像没有学到这个技能或者说没有(肯定是我没有学到。我的方法是把每条日期记录当成字符串,然后转换成datetime对象,再将转换成时间字符串时仅保留小时数,最后转换为int64类型(转的头都晕了:cry:!

最后一步就是遍历小时数,判断属于哪一个时段,该过程需要使用apply函数,并且传入一个自定义一个函数用来判断时段。

img

img

img

右边两列就是小时数和时段标签

绘制南丁格尔图

img

基于pyecharts

img

是不是人在深夜时情绪会更丰富呢?