[Airbnb] 用Python统计含有中文评论的行,用词云图进行可视化
2020-08-04 17:55
218 查看
统计含有中文的行,使用jieba库分词后用词云图进行展示
一、数据来源
- 数据来源:https://tianchi.aliyun.com/competition/entrance/231715/information
- 采用了reviews_detail.csv表的数据。该表记录了短租房评论相关的内容和作者信息;
- 使用了python3.7.1,pycharm社区版2019.2。
二、数据读取
导入模块
import pandas as pd import re
读取数据
io3 = 'D:/PythonProject/(天池)短租数据集分析/数据集-明细版/reviews_detail/reviews_detail.csv' data = pd.read_csv(io3) reviews_detail_df = pd.DataFrame(data) # 提取评论内容,且需要转换成字符串类型 reviews_detail_df_c = reviews_detail_df['comments'].astype(str) print(reviews_detail_df_c.head(30))
如下输出的部分评论内容,发现含有英文和中文评论。目前,我想对中文评论进行分析。
三、统计含有中文的行
接下来,利用正则表达式进行匹配,网上找到的中文的编码范围(貌似并没有包含全部)是:\u4e00-\u9fa5。
# 统计含有中文的记录行 reviews_detail_df_cc = [] for i in range(len(reviews_detail_df_c)): if re.match(r'(.*[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.*)', reviews_detail_df_c.loc[i]): reviews_detail_df_cc.append(reviews_detail_df_c.loc[i]) print('含有中文的记录数为:{}'.format(len(reviews_detail_df_cc))) print(pd.Series(reviews_detail_df_cc).head())
结果如下。
四、分词及可视化
相关模块
import jieba import wordcloud
jieba库的三种分词模式:
- 精确模式:
jieba.cut(s)
,将句子最精确地切开,适合文本分析; - 全模式:
jieba.cut(s, cut_all = True)
,输出所有可能成词的词语,但是可能存在歧义; - 搜索引擎模式:
jieba.cut_for_search(s)
,在精确模式的基础上,对长词再次切分。
# 将list中的元素用空格进行分割 reviews_detail_df_cc_1 = " ".join(reviews_detail_df_cc) # 分词 cc_ret = jieba.lcut(reviews_detail_df_cc_1) cc_ret_1 = " ".join(cc_ret) # 生成词云图 c_cloud = wordcloud.WordCloud(font_path="msyh.ttc", # 微软雅黑字体 width=1000, height=700, background_color="white", max_words=80 # 最大显示词数 ) c_cloud.generate(cc_ret_1) c_cloud.to_file('D:/PythonProject/(天池)短租数据集分析/Comment_wordcloud.jpg')
效果如下,发现“干净”、“整洁”、“方便”、“热情”等词语出现频率居多。
相关文章推荐
- 使用Python+jieba和java+庖丁分词在Spark集群上进行中文分词统计
- 使用Python+jieba和java+庖丁分词在Spark集群上进行中文分词统计
- 使用python对中文文档进行词频统计
- python进行中文分词、词性标注、词频统计
- python进行数据可视化时,中文是方块显示
- 利用jieba库进行中文文本分析词频统计 并存储到字典里
- Python中使用Counter进行字典创建以及key数量统计的方法
- Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决
- python爬虫爬取股票评论,调用百度AI进行语义分析, matlab观察股票涨跌和评论的关系
- 利用python进行数据分析-绘图和可视化1
- 【python 自然语言处理】对胡歌【猎场】电视剧评论进行情感值分析
- python语言学习笔记(三)-----模拟投掷三个骰子,对游戏结果进行统计
- Python分词并进行词频统计
- [置顶] 【python 自然语言处理】对胡歌【猎场】电视剧评论进行情感值分析
- 作业3(大作业):python数据分析与应用大作业,对用户用电量数据进行数据处理,包括数据转置、异常数据识别和处理、统计基本统计量(包括峰度、偏度)、按日/周(求和)差分、5%分位数等
- Python对B站弹幕爬取统计+词云可视化
- 利用Python进行数据分析(三):绘图与可视化
- 利用Python对NBA SportUV数据进行可视化及分析
- Python、PHP通过xml-rpc进行通信,xml-rpc中文的解决
- 使用python对txt文本进行词频统计-学习笔记