利用Python进行词频统计并生成词云——以京东商城iphone13购物评论为例

本文介绍一种快速生成关键词-词频统计-词云生成的办法,作为Python数据分析初级技能,除基本运行环境外无需其他软件或工具,且流程搭建成功后可重复利用,可极大提升相似事务的处理效率。

一、操作环境

1.1 搭建Python运行环境,如尚未搭建建议下载安装Anaconda,并搭配Jupyter Notebook作为IDE

1.2 需加载pandas,jieba, pyecharts等常用包,直接输入pip install+包名称可能会很慢,建议搜索豆瓣镜像文件快速安装

1.3 数据源可以是现有文件或通过爬虫手段获取,需保证有足够的数据量

二、原始数据获取

本文以京东商城热销的"iphone 13"机型为例,从购买者发布的文字评论中提取关键词进行统计,所以原始数据即评论原文。通过爬虫手段获取最近1000条评论,并保存至本地csv文件,以下为字段预览:

三、Pandas读取文件

3.1 导入本次所需要用到的包:

import pandas as pd
import jieba
import pyecharts.options as opts
from pyecharts.charts import WordCloud

读取csv文件:

data = pd.read_csv(r'(文件路径).csv')
data.head()

 成功读取数据:

查看评论数据是否异常:

data['评价内容'].describe()

 

一共1000条评论,没有重复(文字重复有极大的刷单嫌疑)

pandas能够用data[字段名]的方法选中特定字段,也可以通过loc[]选中特定行,比如[商品评价]字段中第1行数据:

data['评价内容'].loc[0] #0代表第1行数据

 

有了这个核心功能,才能在后面用循环语句把一个个支离破碎的单词放在一个列表里进行词频统计

四、分词

Jieba是目前最流行的中文分词组件,比如一句很常见的话:

“我是一个热爱祖国的中国人”

通过jieba可以根据中文语义把句子切分并提取出可作为关键词的单词:

jieba.lcut('我是一个热爱祖国的中国人')

Output[]: ['我', '是', '一个', '热爱祖国', '的', '中国', '人'] 

有了这样的关键词列表,后续做词频统计会更加方便

五、获取词频

5.1 获取全部的关键词列表

       由于[商品评论]一共有1000行(本例子算少的),需要用jieba.lcut对每一行的评论原文都进行分词,因此使用for循环语句,并且用List的extend功能获取完整的关键词List:

review_all = [] #先做一个空List,用来装下所有关键词
for i in range(999): #已知一共1000条数据review = jieba.lcut(data['评价内容'].loc[i])review_all.extend(review)
review_all

Output[]:

['iPhone13',
 '手机',
 '收到',
 '了',
 ',',
 '粉色',
 '也',
 '太',
 '好看',
 '了',
'吧',

...]

 

5.2 对关键词总表进行单词词频统计

  

首先指定一份“非关键词”名单,比如逗号","可能出现的频次很高,但很明显,这不是我们需要的,可以用一个excludes表列出这类不需要的名单:

excludes = {",",":","“","。","”","、",";"," ","!","?"," ","\n", "iphone13", "13", "12"}

利用遍历对关键词出现次数做累计,并输出频次前100的关键词:

counts= {}
cloud_data = []
excludes = {",",":","“","。","”","、",";"," ","!","?"," ","\n", "iphone13", "13", "12"}
for word in review_all:if len(word) == 1: #不使用单字作为关键词continueelif word in excludes:continueelse:rword = wordcounts[rword] = counts.get(rword, 0) + 1items = list(counts.items())
items.sort(key=lambda x:x[1],reverse = True)
for i in range(100):word, count = items[i]cloud_data.extend([word, count])
cloud_data

Output[]:

['拍照',
 930,
 '效果',
 844,
 '速度',
 839,
 '运行',
 792,
 '屏幕',
 758,
 '外观',
 731,
 '音效',
 631,
...]

 

六、生成词云

  做词云图的方法有很多,这里推荐使用Pyecharts自带的WordCloud包,在Jupyter

Notebook可以直接输出动态html在页面上,可以灵活调整各项参数(参考官网说明书)。唯一的问题在于,上文我们得到的是一个包含关键词和频次的List,而Pyecharts词云如果要将列表作为参数直接使用,需要元组数据,即[(“关键词”:频次)]结构,因此需要多一步操作,可以使用for循环解决:

 

L = [] #做一个新的空List用来装下我们要用的元组
for i in range(199): #由于我们取Top100关键词+频次,所以一共是200个元素if i % 2 == 0:#偶数位[i]是我们需要的关键词,[i+1]即对应的频次a = cloud_data[i]b = cloud_data[i+1]tuple_x = tuple([cloud_data[i],cloud_data[i+1]])#List转元组L.append(tuple_x) #这里不能用extend,只能用append
L

Output[]:

[('拍照', 930),
 ('效果', 844),
 ('速度', 839),
 ('运行', 792),
 ('屏幕', 758),
 ('外观', 731),
 ('音效', 631),
 ('非常', 625),
 ('外形', 593),
 ('手机', 531),
 ('待机时间', 502),
 ('不错', 441),
 ('苹果', 395),
 ('好看', 365),
 ('流畅', 353),
 ('喜欢', 318),
...]

 

 然后将L这个元组列表传到WordCloud()生成云图:

c = (WordCloud().add("", L, word_gap = 0, word_size_range=[10, 50], mask_image = r'(自定义图片路径)', rotate_step = 90, width = 2000, height = 2000, is_draw_out_of_bound = False).set_global_opts(title_opts=opts.TitleOpts(title=""), )
)
c.render_notebook()

Output: 

公众号水印是本人的,非转载,部分代码片段参考网友的,循环以及List转tuple那段是自己手撕出来的,并尽可能说明原理,希望对初学者有帮助。 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/63766.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫+可视化分析技术实现招聘网站岗位数据抓取与分析推荐系统

程序主要采用Python 爬虫flask框架htmljavascript实现岗位推荐分析可视化系统,实现工作岗位的实时发现,推荐检索,快速更新以及工作类型的区域分布效果,关键词占比分析等。 程序模块实现 工作范围分布 岗位区域分布 岗位技术情况…

API接口调用,获取淘宝天猫,拼多多,1688等平台商品详情,python采集爬虫数据

Python技术 爬虫(又称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者);它是一种按照一定的规则,自动地抓取网络信息的程序或者脚本。 如果我们把互联网比作一张大的蜘蛛网&a…

使用python爬取BOSS直聘岗位数据并做可视化(Boss直聘对网页做了一些修改,现在的代码已经不能用了)

使用python爬取BOSS直聘岗位数据并做可视化 结果展示首页岗位信息岗位详情薪资表学历需求公司排名岗位关键词福利关键词 代码展示爬虫代码一、导入库二、爬取数据1、爬取数据代码展示2、通过selenium打开浏览器(1)打开网页(2)找到…

用Python对淘宝用户行为数据的分析

目录 项目前言 一、分析目的 二、数据获取与理解 1.数据来源 2.理解数据 三、具体做法 1.导入并清洗数据 3.1.1.把时间戳改为datetime类型 3.1.2.查看是否存在重复的行数据 3.1.3.查看列中是否存在缺失数据 2.用户维度 3.2.1.一个月内每天pv、uv的变化 ​3.2.2.日A…

小白也可以开发闲鱼自动化工具(自动找爆款)

在闲鱼上,我们的课程里面教给大家,如何找爆款,主要是看数据,分析,那么这个分析过程,能否自动化下? 事实是可以的。这个是这几天写的一个,自动化分析电脑这个词下面的一些爆款&#x…

基于Python+网络爬虫的兼职招聘就业信息数据可视化分析

🔥作者:雨晨源码🔥 💖简介:java、微信小程序、安卓;定制开发,远程调试 代码讲解,文档指导,ppt制作💖 精彩专栏推荐订阅:在下方专栏👇&…

Python抓取电商平台数据 / 采集商品评论 / 可视化展示 词云图...

前言 大家早好、午好、晚好吖 ❤ ~ 我给大家准备了一些资料,包括: 2022最新Python视频教程、Python电子书10个G (涵盖基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题)、Python学习路线图等等 直接在文末名片自取即可&#x…

chatgpt赋能python:Python简单数据采集教程:提高SEO排名的必要工具

Python简单数据采集教程:提高SEO排名的必要工具 在当前数字化时代下,数据已经成为商业流量和营销策略中至关重要的交易资源。因此,数据采集成为了提高SEO排名的必要手段之一。现在,Python由于其强大的数据处理能力被广泛应用于数…

利用 Python 爬虫采集 1688商品详情关键词数据-API

要利用 Python 爬虫采集 1688 商品详情数据,需要先了解 1688 网站的页面结构和数据请求方式。一般使用 requests 库请求网站的数据,使用 BeautifulSoup 库解析网页中的数据。 以下是一个简单的 Python 爬虫采集 1688 商品详情数据的示例代码&#xff1a…

英特尔淘汰迷你电脑,宣布放弃 NUC 业务!

整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 相比造芯这件事,也许有很多人不知道全球知名半导体公司英特尔还在造电脑。 只是有些遗憾的是,据外媒 ServetheHome 报道,英特尔已经开始通知其生态系统的合作伙伴们&…

Web版和客户端哪种SQL工具更好?ChatGPT有话要说

2023年年初公司发布了一款Web版SQL工具,短期内就赢得了众多用户的喜爱和下载。不过,也有SQL用户在评论区中提出自己的观点,认为Web版工具都不可靠,甚至看见Web版工具就劝返… … 工具Web化逐渐成为一种趋势,比如&…

自动批量日文翻译工具,免费日文等小语种翻译互译工具

日文翻译工具具有日文、俄语、韩语、德语等多国小语种翻译,支持日文整篇文章翻译成中文等多种语种,长篇文章翻译后保留原文格式段落,并通过批量内容编辑处理,实现翻译后的文章敏感词删除、插图图片和同义词替换实现本地化翻译。 日…

谁说首富不懂技术!马斯克晒出Twitter2.0架构图

推荐阅读: 《重磅:Spring Boot 3.0 发布!》 《职场霸凌、潜规则,已经这么猖獗了吗。。》 出品 | OSC开源社区(ID:oschina2013) 近日,马斯克前往 Twitter 总部大楼和工程师团队进行了 code revie…

马斯克在中国的44小时!行程、会面与表态,释放出什么信号?

时隔3年,“自带流量”的美国特斯拉首席执行官马斯克再次到访中国,从公布的信息来看,可谓是行程满满。在中美关系似乎春寒料峭之际,马斯克的来华及表态极具象征意义。 马斯克:反对“脱钩断链” 5月30日下午15时30分左右…

TikTok广告投放指南(基础入门)

TikTok 在全球拥有超过5亿活跃用户,目前还属于一个红利期阶段,在 TikTok 号称开放广告投放后,发现先机的各方卖家纷纷涌入,俨然让它成为炙手可热的广告投放池。 TikTok拥有大量低价流量,人气赶超老牌社媒,再…

腾讯广点通广告投放-Web转化数据API自归因文档对接

关于自建H5落地页投放广告的流程总结 文档地址 Web转化数据API自归因文档 流程 转化归因配置 配置页面地址:https://ad.qq.com/atlas/22172840/tool/conversionspec选择网页转化新建网页转化API自归因上报 PS:关于点击监测链接的说明: …

TikTok运营指南:如何通过TikTok广告实现社媒引流?

短视频平台TikTok在海外可以说是越来越火了,很多做跨境电商的开始涌向TikTok这个平台去营销推广,所以如果你每天日思夜想怎样推出一个新产品,怎样以低成本引流客源和提供销售量,都可以利用 TikTok广告来实现社媒引流,目…

为什么选择TikTok广告?TikTok广告投放如何操作?TikTok广告教程

为什么选择TikTok广告? TikTok是发展最快的社交媒体平台,迄今为止下载量已超过20亿。尤其是在这个大流行的世界中,TikTok可以让人们通过创建自己的内容来寻找新颖有趣的方式彼此联系,从而获得新鲜的空气。 尽管TikTok并未发布受众…

开封抖音广告如何有效投放?

抖音广告投放现阶段已经是十分火爆的引流方法引流渠道了,为了更好开展获客,许多面向电脑端顾客的知名品牌,都是会在抖音里开展投放广告,那样,怎样来完成高效的投放广告呢,下列将采取推广流程、方式、价钱&a…

抖音广告投放的展现形式!抖音广告推广可以找谁合作?

抖音推广现在主要是信息流广告,抖音信息流广告靠精准传播、高转化率的特点成为移动广告主要承载模式,抖音短视频平台借助全面竖屏、交互形式原生的优势使得短视频广告的点击率相对传统图文广告提升6-8倍。 抖音效果广告曝光量大幅增长体现了媒介对流量更…