前言
前几天的同学娃子找我帮忙做点音乐化的作业,作业内容收集网,数据量1W作业评,然后做点数据分析相关的工作。轻松云大作业里有网络虫,还有化解,找一个大的实验了,还需要上交实验报告。这里有作业,有部分知识点,给分享。学生娃的这篇文章:网易云音乐评论爬取。
数据来源
首先是数据,网易云音乐评论来自这里就不放出来了,调用了API获取的,来源代码就少了很多,这里不在赘述了。
分析过程
时间处理
下面的代码主要是时间发布的,是按照时间列编排的数据,正常处理的,你也主要以日期和时间去操作下操作的事情。
<span style="color:#444444"><span style="background-color:#f6f6f6"><span style="color:#333333"><strong>从</strong></span>pyecharts <span style="color:#333333"><strong>import</strong></span> Line<span style="color:#333333"><strong>导入</strong></span>pandas <span style="color:#333333"><strong>as</strong></span> pd
<span style="color:#888888"># 读取数据</span>
df = pd.read_csv( <span style="color:#880000">'music_comments.csv'</span> , header= <span style="color:#333333"><strong>None</strong></span> , names=[ <span style="color:#880000">'name'</span> , <span style="color:#880000">'userid'</span> , <span style="color:#880000">'age'</span> , <span style="color:#880000">'gender'</span> , <span style="color:#880000">'city'</span> , <span style="color:#880000">'text'</span> , <span style="color:#880000">'comment'</span> , <span style="color:#880000">'commentid'</span> , <span style="color:#880000">'praise'</span> , <span style="color:#880000">'date'</span> ], encoding= <span style="color:#880000">'utf-8-sig'</span> )
<span style="color:#888888">#可知评论ID去重</span>
df = df.drop_duplicates( <span style="color:#880000">'commentid'</span> )
df = df.dropna()
<span style="color:#888888"># 获取时间</span>
df[ <span style="color:#880000">'time'</span> ] = [int(i.split( <span style="color:#880000">' '</span> )[ <span style="color:#880000">1</span> ].split( <span style="color:#880000">':'</span> )[ <span style="color:#880000">0</span> ]) <span style="color:#333333"><strong>for</strong></span> i <span style="color:#333333"><strong>in</strong></span> df[ <span style="color:#880000">'date'</span> ]]
<span style="color:#888888">#</span>
分组<span style="color:#888888">汇总</span>date_message = df.groupby([ <span style="color:#880000">'time'</span> ])
date_com = date_message[ <span style="color:#880000">'time'</span> ].agg([ <span style="color:#880000">'count'</span> ])
date_com.reset_index(就地=<span style="color:#333333"><strong>真</strong></span>)
<span style="color:#888888"># 绘制图表</span>
attr = date_com[ <span style="color:#880000">'时间'</span> ]
v1 = date_com[ <span style="color:#880000">'count'</span> ]
line = Line( <span style="color:#880000">"歌曲被爆抄袭后-评论的时间</span>分发<span style="color:#880000">"</span> , title_pos= <span style="color:#880000">'center'</span> , title_top= <span style="color:#880000">'18'</span> , width= <span style="color:#880000">800</span> , height= <span style="color:#880000">400</span> )
line.add( <span style="color:#880000">""</span> , attr, v1, is_smooth= <span style="color:#333333"><strong>True</strong></span> , is_fill= <span style="color:#333333"><strong>True</strong></span> , area_color= <span style="color:#880000">"#000"</span> , is_xaxislabel_align= <span style="color:#333333"><strong>True</strong></span> , xaxis_min= <span style="color:#880000">"dataMin"</span> , area_opacity= <span style="color:#880000">0.3</span> , mark_point&