数据来源
首先是数据来源,来自网易云音乐热评,代码这里就不放出来了,调用了API获取的,抓取难度就少了许多,这里不在赘述了。
分析过程
时间处理
下面的代码主要是评论时间分布,主要是针对时间列做了数据处理,常规操作,你也对照的去以日期和月份去挖掘下有意思的事情。
import pandas as pd
from pyecharts import Line
# 读取数据
df = pd.read_csv('music_comments.csv', header=None, names=['name', 'userid', 'age', 'gender', 'city', 'text', 'comment', 'commentid', 'praise', 'date'], encoding='utf-8-sig')
# 根据评论ID去重
df = df.drop_duplicates('commentid')
df = df.dropna()
# 获取时间
df['time'] = [int(i.split(' ')[1].split(':')[0]) for i in df['date']]
# 分组汇总
date_message = df.groupby(['time'])
date_com = date_message['time'].agg(['count'])
date_com.reset_index(inplace=True)
# 绘制走势图
attr = date_com['time']
v1 = date_com['count']
line = Line("歌曲被爆抄袭后-评论的时间分布", title_pos='center', title_top='18', width=800, height=400)
line.add("", attr, v1, is_smooth=True, is_fill=True, area_color="#000", is_xaxislabel_align=True, xaxis_min="dataMin", area_opacity=0.3, mark_point=["max"], mark_point_symbol="pin", mark_point_symbolsize=55)
line.render("歌曲被爆抄袭后-评论的时间分布.html")
运行之后,得到的效果图如下所示:
<