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

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


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

数据预览:

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

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

import pandas as pd
from pandas import DataFrame,Series
import numpy as np
import jieba
from ciyuntu_class import ciyuntu_class
cyt = ciyuntu_class()
from pytagcloud import make_tags,create_tag_image
from random import sample
comment = 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条评论数据,画出词云图后:这里写图片描述
可以看出一些中性词,像:很、的、都、了、买、也,这些词不能体现出评论人的态度,但是它们的词频却比较大,对结果有干扰,于是在分词的过程中将这些词进行剔除,下面是剔除后的效果图:这里写图片描述
可以看出,剔除后的词云图的主题以及评论的态度信息都比较好的显示在了图中。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值