python画词云图(电商评论数据)

来源:互联网 发布:学电脑锣编程要多久 编辑:程序博客网 时间:2024/05/06 16:34

最近采集了天猫上搜索页面关于风衣的宝贝信息以及14676条评论数据。于是就想着做个关于评论数据的词云图看看
先来看看效果图:


这里写图片描述
从上图可以看出衣服、好、质量、不错、喜欢等关键词的较大,说明这些宝贝在天猫上应该是卖的比较好的。下面记录具体的实现过程。
[TOC]

数据预览:


这里写图片描述
python版本3.4.4;分词库:jieba;词云图库:pytagcloud

数据预处理:数据读入、分词


import pandas as pdfrom pandas import DataFrame,Seriesimport numpy as npimport jiebafrom ciyuntu_class import ciyuntu_classcyt = ciyuntu_class()from pytagcloud import make_tags,create_tag_imagefrom random import samplecomment = pd.read_csv('电商评论数据.csv',encoding='gbk')应为有1W多条评论数据,全部分词的话需要耗费许多时间,于是在全部评论数据中随机抽取了5000条评论数据进comment = comment.drop(['Unnamed: 0'],axis=1)# df_comment = comment[['评价内容']].ix[0:30]index_5000 = sample(list(comment.index),5000)df_comment = comment[['评价内容']].ix[index_5000]df_comment.index = range(df_comment.shape[0])

分词

# 分词df_freq = cyt.fenci(df_comment.ix[0][0])# 转换成数据框df_freq = cyt.sta_list(df_freq)for i in range(df_comment.shape[0])[1:]:    print(i)    try:        df_freq0 = cyt.fenci(df_comment.ix[i][0])        df_freq0 = cyt.sta_list(df_freq0)        # 合并数据框        df_freq = cyt.bind_df(df_freq,df_freq0)    except:        print(df_comment.ix[i][0])        pass

画词云图


# 画词云图tuple_list = cyt.df2tuple_list(df_freq)tags = make_tags(tuple_list,maxsize=80)create_tag_image(tags,'comment_cloud.png',size=(900,600),fontname='simhei')

总结:


先是选取了1000条评论数据,画出词云图后:这里写图片描述
可以看出一些中性词,像:很、的、都、了、买、也,这些词不能体现出评论人的态度,但是它们的词频却比较大,对结果有干扰,于是在分词的过程中将这些词进行剔除,下面是剔除后的效果图:这里写图片描述
可以看出,剔除后的词云图的主题以及评论的态度信息都比较好的显示在了图中。

1 0
原创粉丝点击