精华内容
下载资源
问答
  • Python文本分析——词云图(wordcloud+jieba)
    千次阅读
    2020-10-21 22:55:16

    目录

    1.实现

    2.BUG解决


    1.词云图实现

    一、准备

    环境:Win10+Python 3.6.1  64bit+PyCharm

    词云库:wordcloud(pycharm如何安装库

    汉语分词库:jieba(pycharm如何安装库

    字体:中文字体(如何查看电脑中的字体位置

    文本:txt格式(随便下载个小说)

    效果:http://www.xinyrh.com/newsinfo/821001.html

    二、无背景分词

    import matplotlib.pyplot as plt  # 数学绘图库
    import jieba  # 分词库
    import numpy as np
    from wordcloud import WordCloud,ImageColorGenerator  # 词云库
    
    # 1、读入txt文本数据D:\Desktop\SmallOA\media\tes.txt
    text = open(r'D:\Desktop\SmallOA\media\tes.txt', "r",encoding='utf-8', errors='ignore').read()
    
    # 2、结巴分词,默认精确模式。可以添加自定义词典userdict.txt,然后jieba.load_userdict(file_name) ,file_name为文件类对象或自定义词典的路径
    # 自定义词典格式和默认词库dict.txt一样,一个词占一行:每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒
    
    cut_text= jieba.cut(text)
    result = "/".join(cut_text)  # 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
    # print(result)
    
    # 3、生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库
    # 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'
    #D:\Desktop\SmallOA\media\Project\muban\dig_close.png
    wc = WordCloud(font_path=r"c:\WINDOWS\FONTS\MSYHL.TTC", background_color='white', width=400,
                   height=300, max_font_size=50,
                   max_words=1000)  # ,min_font_size=10)#,mode='RGBA',colormap='pink')
    wc.generate(result)
    wc.to_file(r"D:\Desktop\SmallOA\media\wordcloud.png")  # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰
    
    # 4、显示图片
    plt.figure("词云图")  # 指定所绘图名称
    plt.imshow(wc)  # 以图片的形式显示词云
    plt.axis("off")  # 关闭图像坐标系
    plt.show()

    三、有背景分词

    import matplotlib.pyplot as plt  # 数学绘图库
    import jieba  # 分词库
    import numpy as np
    from PIL import Image
    from wordcloud import WordCloud,ImageColorGenerator  # 词云库
    
    # 1、读入txt文本数据D:\Desktop\SmallOA\media\tes.txt
    text = open(r'D:\Desktop\SmallOA\media\tes.txt', "r",encoding='utf-8', errors='ignore').read()
    
    # 2、结巴分词,默认精确模式。可以添加自定义词典userdict.txt,然后jieba.load_userdict(file_name) ,file_name为文件类对象或自定义词典的路径
    # 自定义词典格式和默认词库dict.txt一样,一个词占一行:每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒
    
    cut_text= jieba.cut(text)
    result = "/".join(cut_text)  # 必须给个符号分隔开分词结果来形成字符串,否则不能绘制词云
    # print(result)
    
    # 3、生成词云图,这里需要注意的是WordCloud默认不支持中文,所以这里需已下载好的中文字库
    
    image = Image.open(r'D:\Desktop\SmallOA\media\214.png')
    graph = np.array(image)
    # 无自定义背景图:需要指定生成词云图的像素大小,默认背景颜色为黑色,统一文字颜色:mode='RGBA'和colormap='pink'
    #D:\Desktop\SmallOA\media\Project\muban\dig_close.png
    wc = WordCloud(font_path=r"c:\WINDOWS\FONTS\MSYHL.TTC",
                   background_color='white',#设置底色
                   width=400,height=300, #制定图片大小,应小于背景像素
                   mask=graph,  # 指定背景图形状
                   max_font_size=50,#最大字体
                   max_words=1000,#最大实现字数
                    )  
    wc.generate(result)
    
    #4、绘制文字的颜色以背景图颜色为参考
    image_color = ImageColorGenerator(graph)#从背景图片生成颜色值
    wc.recolor(color_func=image_color)
    wc.to_file(r"D:\Desktop\SmallOA\media\wordcloud.png")  # 按照设置的像素宽高度保存绘制好的词云图,比下面程序显示更清晰
    
    # 5、显示图片
    plt.figure("词云图")  # 指定所绘图名称
    plt.imshow(wc)  # 以图片的形式显示词云
    plt.axis("off")  # 关闭图像坐标系
    plt.show()

    2.BUG解决

    一、UnicodeDecodeError: 'gbk' codec can't decode byte 0xaf in position 2: illegal multibyte sequence

    编码问题:代码中以设置,一般不会再出问题。

    text = open(r'D:\Desktop\SmallOA\media\tes.txt', "r",encoding='utf-8', errors='ignore').read()

    二、OSError: cannot open resource

    字体有问题

    三、ImageColorGenerator is smaller than the canvas

    这个问题出来后我问了其他人,群里告诉我是因为我的底片比我设置width和height要小。就像我的口袋装不下一个苹果一样,而我非要塞进去,产生溢出,自然就报错了。解决方法是查看底片的宽高,然后去设置内容的宽高。最好等于图片的宽高。

    参考:

    https://vip01.blog.csdn.net/article/details/77622174?depth_1-

    https://blog.csdn.net/fwpevil/article/details/86547428

    https://blog.csdn.net/Kafkaer/article/details/94167718

     

    更多相关内容
  • Python爬取全网所有书籍,只需要填写书籍连接即可,后台会自动运行爬虫,下载书籍文本到本地,最后会根据智能词云算法开启分词,之后依靠pyecharts这个强大的库,进行词云分析及其展示。全程一键化,没有烦恼,快来...
  • 有的时候我们把数据整理收集整理到excel中,那么要把excel中的某列文本数据制作词云图怎么做呢? 从最简单的说起。 最简单的词云图就是这种,英文的,不读取文件,不指定背景形状图片,不指定字体。 #复制文本用字符...
  • python绘制中文词云图

    千次阅读 2021-03-17 03:00:09
    1. 明确任务最近学习过程中看到很多分析报告中都有运用到可视化的词云,也有看到五花八门的工具教程,刚好有一份《都挺好》电视剧的弹幕源数据。... 使用wordcloud 将分词得到的词汇统计绘制词云图涉及难点...

    1. 明确任务

    最近学习过程中看到很多分析报告中都有运用到可视化的词云,也有看到五花八门的工具教程,刚好有一份《都挺好》电视剧的弹幕源数据。便决定用这份数据尝试使用python绘制词云。

    任务内容1. 在python中读取excel文件(《都挺好》弹幕源数据.xlsx)提取出弹幕内容

    2. 对弹幕内容文本进行结巴分词,设置并过滤掉停用词

    3. 使用wordcloud 将分词得到的词汇统计绘制词云图

    涉及难点1. 读写excel文件

    2. jieba 中文分词

    3. wordcloud 词云展示库

    2. 具体操作

    2.1 安装相应的第三方库

    本次练习需要使用到的库包括读取excel文件的openpyxl(xlwt、xlrd、pandas),进行分词的jieba,以及进行词云图绘制的numpy、matplotlib、wordcloud。

    因为不确定在此前安装过哪些库,因此先使用pip list查看已经安装好的库文件。查询之后发现只有wordcloud和openpyxl没有安装,分别使用pip install openpyxl和pip install wordcloud 即可安装。

    2.2 读写文件

    读写文件在之前了解过 with open 的方法,用于读写txt,csv文件。但是若要读写excel文件则需要使用特定的库。例如 openpyxl、xlwt/wlrd 以及pandas这几种第三方库来读写。本次使用的是openpyxl来进行的文件读写。

    相关部分代码:import openpyxl #此处使用的是openpyxl读取文件,此外还有 xlrd,pandas 读取文件的方式(有待补充)

    filename=r'F:\数据分析练手\都挺好-弹幕源数据.xlsx' #打开excel文件

    workbook=openpyxl.load_workbook(filename) #读取excel文件

    sheet = workbook.active

    rows = sheet.max_row #当前表格最大的行数

    columns = sheet.max_column #当前表格最大的列数

    selectrow = sheet['1'] #读取表格第一行的内容

    selectcol = sheet['E'] #读取表格指定'E'列(即弹幕内容列)的内容

    2.3 使用结巴分词模块对内容分词结巴分词支持三种分词模式:全模式,精确模式和搜索引擎模式,普遍使用的是精准模式,此次亦是使用的精准模式。其分词结果是一个可迭代的 generator,可使用for循环得到分词后的每一个词汇。这里定义一个函数来进行结巴分词。

    相关部分代码: import jieba #引入jieba

    stopwords={}.fromkeys(['的','得','地','吗','哈哈哈哈','啦','呢','吧','了','啊','这','是','我',':','?','!',' ','。','😊','\xa0', '😂']) #定义停用词字典

    selectcol=sheet['E']

    def jieba_fc(column): #定义一个分词函数进行结巴分词

    words=[] #创建一个空列表存放分词结果

    for col in column:

    word = str(col.value) #因为弹幕中有数字,为避免识别问题,将所有的内容格式都转换为字符串

    words_fc = jieba.cut (word,cut_all=False) #使用jieba精准模式进行分词

    for j in words_fc: #对分词结果进行停用词筛选

    if j not in stopwords: #如果不在停用词字典中

    words.append(j) #将它存放到words列表中

    return ' '.join(words) #将结果返回成一个以空格为间隔的字符串

    text=jieba_fc(selectcol) #调用此函数,并将结果字符串存入text中

    2.4 用wordcloud绘制词云

    相关部分代码:from wordcloud import WordCloud #词云展示模块

    from wordcloud import ImageColorGenerator #

    import PIL.Image as image #图像处理模块

    import matplotlib.pyplot as plt #图像展示模块

    import matplotlib.font_manager as fm #中文处理模块

    import numpy as np

    mask=np.array(image.open('148.jpg')) #图片背景参考形状

    wc=WordCloud(

    background_color="white", #背景颜色

    max_words=150, #最多显示的词数

    mask=mask, #设置图片的背景

    max_font_size=60, #最大的字符

    random_state=42, #

    font_path='C:/Windows/Fonts/simkai.ttf' #中文处理,用系统自带的字体

    ).generate(text) #generate 只能处理str文本不能处理list文本

    #对词云图各项参数进行调整,使词云图更美观

    my_font=fm.FontProperties(fname='C:/Windows/Fonts/simkai.ttf') #词云字体设置

    image_colors=ImageColorGenerator(mask) #基于彩色图像的颜色生成器 提取背景图片颜色

    wc.recolor(color_func=image_colors) # 将词云颜色设置为背景图的颜色

    plt.axis("off") #为云图去掉坐标轴

    plt.show() #画云图,显示

    plt.imshow(wc,interpolation="bilinear") #开始画图

    wc.to_file("dth.png") #输出一个png文件保存云图

    2.5效果图参数调整之前的词云图

    wAAACwAAAAAAQABAEACAkQBADs=

    初始词云图背景图片

    wAAACwAAAAAAQABAEACAkQBADs=

    背景图设置了背景图,字体颜色等参数的词云图

    wAAACwAAAAAAQABAEACAkQBADs=

    都挺好弹幕词云图

    3. 遇到的问题在进行结巴分词的时候,运行代码导致格式错误

    “AttributeError: ‘int’ object has no attribute ‘decode’”

    经过检查发现是因为弹幕中有包含’666’等数字的内容,在结巴分词之后被计算机定义为’int’类型,导致在进行后续的计算时无法被识别而报错。初次尝试wordcloud词云绘制时,在wc=WordCloud(…).generate(str(words)) 代码中,因generate 只能处理str文本不能处理list文本,将words列表直接使用str转换成字符串,导致词云图出现以下情况:

    wAAACwAAAAAAQABAEACAkQBADs=

    出现问题的词云图.jpg

    在使用wordcloud时,其内置分词程序会对传入的字符串进行再次分词,而直接使用str的方式转换的字符串中词与词之间包含了大量的” ‘ ‘ “,使得wordcloud再次分词时产生混乱。因此列表转字符串时可以使用 ‘空格’.join(列表)的方式去转换,减少词汇之间的符号,使wordcloud能够正确分词。

    4. 优化改进

    读取文件方面本次使用的是openpyxl库进行文件读取,此外还有xlrd模块和pandas库均可进行excel文件的读取。可以对几种方式进行尝试比较,比较三者之间的优劣差异。

    结巴分词方面结巴分词可以进行自定义词典,本次分词之后可以看出有一些有特定含义的词汇并没有被jieba识别,因此可以进一步添加新词使其达到更高的正确率。此外,结巴分词还可以进行词频,词性分析标注,可以去深入学习使用。

    词云绘制方面本次词云绘制只是简单的使用了wordcloud进行绘制,该模块还有很多其他的参数设置未进行尝试,比如统计词频进行词云绘制,根据词频高低调节字体大小,在wordcloud中设置屏蔽词汇,给现有词云重新上色等等。

    https://www.jianshu.com/p/027c493ab779

    展开全文
  • 基于python文本挖掘的词云图分析

    千次阅读 2022-03-21 11:13:18
    案例数据爬取参考上文:python抓取微博评论数据_wg110001的博客-CSDN博客

    ​​​​​​python爬取微博评论数据_wg110001的博客-CSDN博客icon-default.png?t=M276https://blog.csdn.net/m0_52952956/article/details/123539076?spm=1001.2014.3001.5502

    1.首先加载所需要的python库,命令如:pip install xxx

     

     2.接着设置好我们后续调用的背景图以及数据所存以及最后绘制好词云图输出的路径

    font为本次词云图所需要用到的字体(可以根据自己喜好设置,路径基本不变,只改变文件名),这个必须要有,不能省略,否则词云图无法正常绘制

     3.将提前爬取的数据进行处理后保存在提前设置好的path路径下,进行数据的读取,以及对数据进行切分,用空格隔开

    4.接着设置想要绘制的形状的图片,将图片转换成数组,方便数据匹配填充,同时可以设置停用词即不想在词云图中出现的词,encoding=“utf-8”是为了防止中文乱码

     5.接着对词云图的各个参数进行配置,颜色,字体,大小同时引用停用词,绘制词云图

     

     

     6.绘制词云图,显示结果并保存

     完整代码:

     运行结果:

     

    展开全文
  • 本文介绍如何使用python绘制简单的词云图。 制作基础的词云图 python中词云可以直接在输入为一大段文字的情况下生成,不需要再做更多处理。比如以下代码: import wordcloud import matplotlib.pyplot as plt text ...

    在这里插入图片描述

    词云(wordcloud)图能过滤掉大量的文本信息,使我们能抓住问题的集中点(一般集中点就是经常提到的点,也就是词频数会比较高)。其实制作词云没什么技术含量,主要就是将用于绘制词云的所有词都传给软件,然后软件就会返回一张词云图。

    本文介绍如何使用python绘制简单的词云图。


    制作基础的词云图

    python中词云可以直接在输入为一大段文字的情况下生成,不需要再做更多处理。比如以下代码:

    import wordcloud
    import matplotlib.pyplot as plt
    
    text = """
    认认真真的生活 再去做一些正儿八经的事儿04决定放弃了的事,就请放弃得干干净净。 那些决定再也不见面的人, 就真的不要见面了。 请不要让我再做背叛自己的事了。 ——山本文绪《恋爱中毒》我从来不想独身,却有预感晚婚;我在等,世上唯一契合灵魂。—— 李宗盛《晚婚》05万物皆有裂痕,那是光照进来的地方 ——《颂歌》06满怀希望就会所向披靡  ——《撒野》撒野女孩!!哪里有撒野哪里就有我!07我有所念人,隔在远远乡        ——白居易08一生辛苦 如果是一场空忙 实在是太可惜 ——《美国往事》余华《活着》中写着“人是为活着本身而活着,而不是为了活着之外的任何事物所活着。”所以我想人这一生不要被太多的东西束缚,请尽量活的单纯,活的纯粹。09你总想依赖别人, 到最后, 你会发现人生的每一个最艰难时刻, 都是自己挺过来的。当一个人承受痛苦时,总会环视四周,欲寻求一个依靠,一丝温暖。可现实却是,周围人来人往,无一人为自己停留。于是便怀着泪水,相拥寂寞,道一句,至少生活没遗忘我。建议点赞收藏,都是精品,错过后悔哦~10一生中最开心的事就是, 很多女孩子喜欢他,但他就喜欢我。他是好多人的马克思,却永远是一个人的卡尔。11坏蛋有很多个面孔  最奸险的是外表善良的那一种。小时候最怕鬼怪,因为他们面目狰狞;长大后最怕的是人类,因为他们衣冠楚楚。12像你这个年纪 要先谈学业和梦想  再去触碰爱情与生活一位母亲的话:如果他没有像你爸爸一样包容你没有像个男人一样保护你没有像我一样心疼你并不是害怕你在十几岁的时候谈恋爱我是担心你在这个年纪遇到错的人不是真正爱你的人认为做了点毛皮就说是爱你的人这叫耽误。——网易云音乐热评《无问》13你一定是自己幸福的最佳评判者。 ——简.奥斯汀看到这句话,突然就想到《活着》里的主人公,我以为他是不幸的,父母死了,儿女死了,孙子死了,妻子死了,只有他和一只老牛活着。我想,再怎么说,他都应该是不幸的吧?可他却用字里行间的情感,以及结局的自嘲告诉我,他很幸福。14骄傲多半不外乎我们对自己的估价, 虚荣却牵涉到我们希望别人对我们的看法。 简.奥斯汀《傲慢与偏见》我觉得人本身就是矛盾体。想不顾他人语言眼神,却又不断在猜测15多读点书, 不然你的三观是由你的亲朋好友决定的16不相信世界就是这样 在明知道有的时候必须低头 有的人必将失去 有的东西命中注定不能长久的时候 依然要说,在第一千个选择之外 还有第一千零一个可能 有一扇窗等着我打开 然后有光透进来。 ——王小波17成功与否不是我能决定的, 但坚持与否,却只有我能决定。成功有千万种,但失败却只有一种,那就是在成功之前放弃。18你不停的翻着评论  只是为了找到那个替你说出故事的人19有些事,现在看来不过如此, 但在当时,真的就是一个人一秒一秒熬过来的。 ——德卡先生的信箱有些事,只能一个人做;有些关,只能一个人过;有些路啊,只能一个人走。 ——龙应台20妈妈也曾是个小女孩  怕黑怕虫子,也会掉眼泪 笨手笨脚被针扎到 却温柔了我,温柔了岁月 爸爸也曾是个小男孩  天不怕地不怕  喜欢打打闹闹  还爱闯祸  却罩住了我,罩住了整个家你多大妈妈就多大,因为生了你,她才成为了妈妈21这里的一切都有始有终 却能容纳所有不期而遇和久别重逢 世界灿烂盛大,欢迎回家 -《全球高考》22要学骆驼,沉得住气的动物。 看它从不着急 慢慢地走,慢慢地嚼 总会走到的,总会吃饱的。23你知道么, “虚惊一场”这四个字是人世间最好的成语, 比起什么兴高采烈,五彩缤纷,一帆风顺 都要美好百倍。 ——韩寒人生最好的三个词:“久别重逢,失而复得,虚惊一场。” 却唯独没有一个词叫“和好如初”,和好容易,如初多难啊。24以前听过这么一句话 一个人欺负一个人叫欺凌 两个人欺负一个人叫欺凌 十个人欺负一个人叫欺凌 一万个人欺负一个人 叫正义 ——《凡尔杜先生》数量即是正义。——《乌合之众》25有一种落差是:
    """
    # 这里的text很长,就不显示了
    
    wordcloud = wordcloud.WordCloud(font_path='typeface.ttf').generate(text)
    # font_path字体位置,这个很重要,因为可能中文在某些字体中不被识别,需要传入能输入中文的字体
    
    plt.figure(figsize=(8,10))
    plt.imshow(wordcloud)
    plt.axis('off')
    

    画出来的效果:在这里插入图片描述
    可以看到上面的词云图中的词不是很像词了哈哈,所以可能整段的长句子来做词云还是效果没多好的。

    除开内容外,要美化的话也是有很多的参数可以使用的,如width, height, background_color, mask, scale, font_path。这里的mask可以将词云画到某个形状的图案中。这里就不多介绍了。

    jieba分词后制作词云

    制作词库

    要画词云,就首先需要准备词库。python中可以使用jieba进行中文分词,jieba可以将一大段文字分成很多个意义有联系的词语。当然如果你的输入数据就是类似词库的,那么这步可以跳过。使用jieba进行分词所使用到的函数有:

    • jieba.cut, jieba.lcut:功能相似,都是分词,但是cut生成的是迭代器,需要通过for循环或者next来获取值,而lcut直接返回一个结果的列表。cut_all参数设置是否全匹配,默认为False表示严格分词,不会有两个相邻的词使用同一个字。而如果为True的情况下则表示不严格分词,而会有相邻的词使用同一个字的情况。比如天气很美好在为True的情况下会被分为['天气', '很美', '美好'],在为False的情况下分为['天气', '很', '美好']。此外可以使用HMM 参数用来控制是否使用 HMM 模型(可能某些情况下使用HMM模型更好吧)
    • jieba.cut_for_search, jieba.lcut_for_search:功能也都是分词,cut_for_search也是生成迭代器,而lcut_for_search返回列表。这两种都是搜索引擎模式,结果适合于搜索引擎构建索引。也就是在上面的cut模式分词的基础上再将长词进行一定分割。在这两个函数中默认的HMM为True

    示例:

    !pip install jibe
    import jieba
    jieba.lcut('天气很美好')   # 结果 ['天气', '很', '美好']
    jieba.lcut('天气很美好')   # 结果 ['天气', '很美', '美好']
    

    这里不多介绍了,有兴趣可以去学习其它资源

    画词云图

    制作词库完成后就可以直接画词云图了。画图的方法也是很简单。

    import wordcloud
    import matplotlib.pyplot as plt
    import jieba
    
    text = """
    认认真真的生活 再去做一些正儿八经的事儿04决定放弃了的事,就请放弃得干干净净。 那些决定再也不见面的人, 就真的不要见面了。 请不要让我再做背叛自己的事了。 ——山本文绪《恋爱中毒》我从来不想独身,却有预感晚婚;我在等,世上唯一契合灵魂。—— 李宗盛《晚婚》05万物皆有裂痕,那是光照进来的地方 ——《颂歌》06满怀希望就会所向披靡  ——《撒野》撒野女孩!!哪里有撒野哪里就有我!07我有所念人,隔在远远乡        ——白居易08一生辛苦 如果是一场空忙 实在是太可惜 ——《美国往事》余华《活着》中写着“人是为活着本身而活着,而不是为了活着之外的任何事物所活着。”所以我想人这一生不要被太多的东西束缚,请尽量活的单纯,活的纯粹。09你总想依赖别人, 到最后, 你会发现人生的每一个最艰难时刻, 都是自己挺过来的。当一个人承受痛苦时,总会环视四周,欲寻求一个依靠,一丝温暖。可现实却是,周围人来人往,无一人为自己停留。于是便怀着泪水,相拥寂寞,道一句,至少生活没遗忘我。建议点赞收藏,都是精品,错过后悔哦~10一生中最开心的事就是, 很多女孩子喜欢他,但他就喜欢我。他是好多人的马克思,却永远是一个人的卡尔。11坏蛋有很多个面孔  最奸险的是外表善良的那一种。小时候最怕鬼怪,因为他们面目狰狞;长大后最怕的是人类,因为他们衣冠楚楚。12像你这个年纪 要先谈学业和梦想  再去触碰爱情与生活一位母亲的话:如果他没有像你爸爸一样包容你没有像个男人一样保护你没有像我一样心疼你并不是害怕你在十几岁的时候谈恋爱我是担心你在这个年纪遇到错的人不是真正爱你的人认为做了点毛皮就说是爱你的人这叫耽误。——网易云音乐热评《无问》13你一定是自己幸福的最佳评判者。 ——简.奥斯汀看到这句话,突然就想到《活着》里的主人公,我以为他是不幸的,父母死了,儿女死了,孙子死了,妻子死了,只有他和一只老牛活着。我想,再怎么说,他都应该是不幸的吧?可他却用字里行间的情感,以及结局的自嘲告诉我,他很幸福。14骄傲多半不外乎我们对自己的估价, 虚荣却牵涉到我们希望别人对我们的看法。 简.奥斯汀《傲慢与偏见》我觉得人本身就是矛盾体。想不顾他人语言眼神,却又不断在猜测15多读点书, 不然你的三观是由你的亲朋好友决定的16不相信世界就是这样 在明知道有的时候必须低头 有的人必将失去 有的东西命中注定不能长久的时候 依然要说,在第一千个选择之外 还有第一千零一个可能 有一扇窗等着我打开 然后有光透进来。 ——王小波17成功与否不是我能决定的, 但坚持与否,却只有我能决定。成功有千万种,但失败却只有一种,那就是在成功之前放弃。18你不停的翻着评论  只是为了找到那个替你说出故事的人19有些事,现在看来不过如此, 但在当时,真的就是一个人一秒一秒熬过来的。 ——德卡先生的信箱有些事,只能一个人做;有些关,只能一个人过;有些路啊,只能一个人走。 ——龙应台20妈妈也曾是个小女孩  怕黑怕虫子,也会掉眼泪 笨手笨脚被针扎到 却温柔了我,温柔了岁月 爸爸也曾是个小男孩  天不怕地不怕  喜欢打打闹闹  还爱闯祸  却罩住了我,罩住了整个家你多大妈妈就多大,因为生了你,她才成为了妈妈21这里的一切都有始有终 却能容纳所有不期而遇和久别重逢 世界灿烂盛大,欢迎回家 -《全球高考》22要学骆驼,沉得住气的动物。 看它从不着急 慢慢地走,慢慢地嚼 总会走到的,总会吃饱的。23你知道么, “虚惊一场”这四个字是人世间最好的成语, 比起什么兴高采烈,五彩缤纷,一帆风顺 都要美好百倍。 ——韩寒人生最好的三个词:“久别重逢,失而复得,虚惊一场。” 却唯独没有一个词叫“和好如初”,和好容易,如初多难啊。24以前听过这么一句话 一个人欺负一个人叫欺凌 两个人欺负一个人叫欺凌 十个人欺负一个人叫欺凌 一万个人欺负一个人 叫正义 ——《凡尔杜先生》数量即是正义。——《乌合之众》25有一种落差是:
    """
    words_list = jieba.lcut(text)
    dict = {}  # 这里建一个列表用于记录列表中的所有唯一值出现的次数
    for key in words_list:
        dict[key] = dict.get(key, 0) + 1
    
    wordcloud = wordcloud.WordCloud(font_path='typeface.ttf', \
    								background_color='White').fit_words(dict)
    # fit_words函数传入的是记录唯一值出现的次数
    
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.show()
    

    画图结果:
    在这里插入图片描述
    可以看到图中有很多的的,是,你,我这些词,而这些词一般来说可能不是我们想要看到的。因此有时候我们需要加入一些停用词,这里可以使用比如["你","我","他","了","一个","是","一","《","》","0", " ", "。", "—", "“", "”", ",", ";", ","],此外其中的数字也是无意义的,也可以去掉。去掉这些词后,看下词云的样子吧:

    import wordcloud
    import matplotlib.pyplot as plt
    import jieba
    text = """
    认认真真的生活 再去做一些正儿八经的事儿04决定放弃了的事,就请放弃得干干净净。 那些决定再也不见面的人, 就真的不要见面了。 请不要让我再做背叛自己的事了。 ——山本文绪《恋爱中毒》我从来不想独身,却有预感晚婚;我在等,世上唯一契合灵魂。—— 李宗盛《晚婚》05万物皆有裂痕,那是光照进来的地方 ——《颂歌》06满怀希望就会所向披靡  ——《撒野》撒野女孩!!哪里有撒野哪里就有我!07我有所念人,隔在远远乡        ——白居易08一生辛苦 如果是一场空忙 实在是太可惜 ——《美国往事》余华《活着》中写着“人是为活着本身而活着,而不是为了活着之外的任何事物所活着。”所以我想人这一生不要被太多的东西束缚,请尽量活的单纯,活的纯粹。09你总想依赖别人, 到最后, 你会发现人生的每一个最艰难时刻, 都是自己挺过来的。当一个人承受痛苦时,总会环视四周,欲寻求一个依靠,一丝温暖。可现实却是,周围人来人往,无一人为自己停留。于是便怀着泪水,相拥寂寞,道一句,至少生活没遗忘我。建议点赞收藏,都是精品,错过后悔哦~10一生中最开心的事就是, 很多女孩子喜欢他,但他就喜欢我。他是好多人的马克思,却永远是一个人的卡尔。11坏蛋有很多个面孔  最奸险的是外表善良的那一种。小时候最怕鬼怪,因为他们面目狰狞;长大后最怕的是人类,因为他们衣冠楚楚。12像你这个年纪 要先谈学业和梦想  再去触碰爱情与生活一位母亲的话:如果他没有像你爸爸一样包容你没有像个男人一样保护你没有像我一样心疼你并不是害怕你在十几岁的时候谈恋爱我是担心你在这个年纪遇到错的人不是真正爱你的人认为做了点毛皮就说是爱你的人这叫耽误。——网易云音乐热评《无问》13你一定是自己幸福的最佳评判者。 ——简.奥斯汀看到这句话,突然就想到《活着》里的主人公,我以为他是不幸的,父母死了,儿女死了,孙子死了,妻子死了,只有他和一只老牛活着。我想,再怎么说,他都应该是不幸的吧?可他却用字里行间的情感,以及结局的自嘲告诉我,他很幸福。14骄傲多半不外乎我们对自己的估价, 虚荣却牵涉到我们希望别人对我们的看法。 简.奥斯汀《傲慢与偏见》我觉得人本身就是矛盾体。想不顾他人语言眼神,却又不断在猜测15多读点书, 不然你的三观是由你的亲朋好友决定的16不相信世界就是这样 在明知道有的时候必须低头 有的人必将失去 有的东西命中注定不能长久的时候 依然要说,在第一千个选择之外 还有第一千零一个可能 有一扇窗等着我打开 然后有光透进来。 ——王小波17成功与否不是我能决定的, 但坚持与否,却只有我能决定。成功有千万种,但失败却只有一种,那就是在成功之前放弃。18你不停的翻着评论  只是为了找到那个替你说出故事的人19有些事,现在看来不过如此, 但在当时,真的就是一个人一秒一秒熬过来的。 ——德卡先生的信箱有些事,只能一个人做;有些关,只能一个人过;有些路啊,只能一个人走。 ——龙应台20妈妈也曾是个小女孩  怕黑怕虫子,也会掉眼泪 笨手笨脚被针扎到 却温柔了我,温柔了岁月 爸爸也曾是个小男孩  天不怕地不怕  喜欢打打闹闹  还爱闯祸  却罩住了我,罩住了整个家你多大妈妈就多大,因为生了你,她才成为了妈妈21这里的一切都有始有终 却能容纳所有不期而遇和久别重逢 世界灿烂盛大,欢迎回家 -《全球高考》22要学骆驼,沉得住气的动物。 看它从不着急 慢慢地走,慢慢地嚼 总会走到的,总会吃饱的。23你知道么, “虚惊一场”这四个字是人世间最好的成语, 比起什么兴高采烈,五彩缤纷,一帆风顺 都要美好百倍。 ——韩寒人生最好的三个词:“久别重逢,失而复得,虚惊一场。” 却唯独没有一个词叫“和好如初”,和好容易,如初多难啊。24以前听过这么一句话 一个人欺负一个人叫欺凌 两个人欺负一个人叫欺凌 十个人欺负一个人叫欺凌 一万个人欺负一个人 叫正义 ——《凡尔杜先生》数量即是正义。——《乌合之众》25有一种落差是:
    """
    words_list_jieba = jieba.lcut(text)
    
    words_list = []    # 创建一个用于存放去掉停用词之后的词库
    for i in words_list_jieba:
        if i in ["你", "有", "在", "却", "就","我","他","的", "了","一个","是","一","《","》","0", " ", "。", "—", "“", "”", ",", ";", ","] or i.isnumeric():
            pass
        else:
            words_list.append(i)
    
    dict = {}  # 这里建一个列表用于记录列表中的所有唯一值出现的次数
    for key in words_list:
        dict[key] = dict.get(key, 0) + 1
        
    wordcloud = wordcloud.WordCloud(font_path='typeface.ttf', \
    								background_color='White').fit_words(dict)
    
    plt.figure(figsize=(10,12))
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.show()
    

    结果:
    dow_50,text_Q1NETiBA5L2g5aSn5L2s5p2l5ZWm,size_18,color_FFFFFF,t_70,g_se,x_16)
    可以看到结果还不错,能够大概反映一些东西。

    python词云的绘制就先讲到这了。

    参考:https://www.cnblogs.com/wkfvawl/p/9487165.html
    参考:https://github.com/fxsjy/jieba
    参考:https://www.cnblogs.com/aprilspring-emotion/p/9379715.html

    展开全文
  • Python数据可视化——词云图

    千次阅读 2020-12-08 21:43:57
    数据可视化中,词云图是一个比较常用也比较简单的应用。就是将文件输入到程序中,利用中文/英文分词,提取出文本的关键词,根据词频提取每个关键词在这面文章里的重要性权重,在指定的图片中以不重叠的形式显示...
  • ↑↑↑↑↑点击上方蓝色字关注我们!『运筹OR帷幄』转载作者:费弗里编者按词云图是文本挖掘中用来表征词频的数据可视化图像,通过它可以很直观地展现文本数据中的高频词。词云图过滤掉大量的低频低质...
  • 某电商平台评论的爬取、词云图的绘制和情感分析,供学习使用。
  • 制作词云图一.词云图介绍二.wordcloud方法二....词云图的应用相当广泛,诸如电影-视频-微博-网易云-淘宝-知乎等评论分析、书籍-报告-商品信息-疫情舆论等文本分析,使用词云图能使数据信息的表达一目了然。
  • Python玩转词云图

    千次阅读 2021-03-03 15:03:32
    Python玩转词云图 jieba库 jieba库是一款优秀的 Python 第三方中文分词库,jieba 支持三种分词模式:精确模式、全模式和搜索引擎模式,下面是三种模式的特点。 精确模式:试图将语句最精确的切分,不存在冗余数据...
  • 引言在数据分析的过程中我们经常会接触到很多词云图,比起干巴巴的数字频率统计,词云图更能吸引读者的眼球。制作词云的工具有很多,但原理都很简单,今天我就试着利用python制作一张词云图。分析目的利用《三体》...
  • 本博客介绍如何利用Python工具对文本数据进行可视化,也就是我们生活中经常看到的词云图。 二、代码展示 # 导入相应的库 import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt import PIL...
  • 1. 量身打造属于你的词云图今天的Python案例是跟着笔者来打造属于自己的词云图。那么什么是词云图呢?我们在百度中来搜索一下,如图所示:概念:词云图就是由词汇组成类似云的彩色图形。接下来我们就可以去为自己量...
  • Python画出好看的词云图(详解)

    千次阅读 2022-01-17 11:38:14
    上面的这种图叫做词云图,主要用途是将文本数据中出现频率较高的关键词以可视化的形式展现出来,使人一眼就可以领略文本数据的主要表达意思。词云图中,词的大小代表了其词频,越大的字代表其出现频率更高。 那生成...
  • 很早之前写过一篇怎么利用微博数据制作词云图片出来,之前的写得不完整,而且只能使用自己的数据,现在重新整理了一下,任何的微博数据都可以制作出来,放在今天应该比较应景。一年一度的虐汪节,是继续蹲在角落默默...
  • python】用python实现wordcloud大数据词云图分析一、应用目的二、工具包安装及代码三、中文不能正常显示四、关键词重复五、最终结论 一、应用目的 大数据词云(wordcloud)分析常用于在冗长的文本数据中提取最高频...
  • Python爬虫入门教程03:二手房数据爬取 Python爬虫入门教程04:招聘信息爬取 Python爬虫入门教程05:B站视频弹幕的爬取 PS:如有需要 Python学习资料 以及 解答 的小伙伴可以加点击下方链接自行获取 python免费学习...
  • Python实现Wordcloud生成词云图的示例

    千次阅读 2020-11-30 05:57:58
    首先贴出一张词云图(以哈利波特小说为例):在生成词云图之前,首先要做一些准备工作1.安装结巴分词库pip install jiebaPython中的分词模块有很多,他们的功能也都是大同小异,我们安装的结巴分词是当前使用的最多...
  • python词云图实例

    千次阅读 2022-03-20 16:16:37
    python中有很多库可以画词云图了,如果对你有帮助记得点赞! #导入相应的库 import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt from PIL import Image import numpy as np #导入文本...
  • 点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤昨夜西风凋碧树,独上高楼,望尽天涯路。前言大家好,我是黄伟。词云,相信大家...
  • Python制作词云图代码实例

    千次阅读 2021-02-03 17:27:13
    下面是词云图python代码~#导入需要模块import jiebaimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Imagefrom wordcloud import WordCloud, STOPWORDS, ImageColorGe...
  • 使用Python制作中文词云

    千次阅读 多人点赞 2021-02-16 17:01:54
    使用Python制作中文词云0 素材 & 库 准备0.1 文本和图片0.2 库准备步骤1. 准备工作2. 文本处理2.1 读取文本2.2 分词和过滤2.3 统计词频:3. 制作并画出词云3.1 默认颜色3.2 设置背景颜色3.3 从图片提取颜色完整...
  • 本文继续采用PyEcharts v1.x版本进行绘制水球。注:PyEcharts分为 v0.5.x 和 v1.x 两个大版本,v0.5.x 和 v1.x 间不兼容,v0.5.x是基于P...
  • 词云图,通过对文章中的词语统计词频,可以直接反应某个词在文章中的重要性以及出现次数比。 制作 怎么制作词云图呢?Python已经给我们提供了一个完整的库,名为pyecharts,看名字就知道,这个库是专门为python定制...
  • python词云图

    2020-11-20 15:40:34
    python词云图 1、修改路径 首先修改路径为自己存放数据的地方,比如我就放在 D:/Program Files (x86)/jupyter/。 route = os.getcwd() print(route) os.chdir(r'D:/Program Files (x86)/jupyter/') route = os....
  • e分钟带你利用Python制作词云图

    千次阅读 2020-08-03 16:44:16
    随着大数据时代的来临,数据分析与可视化,显得越来越重要,今天给小伙伴们带来一种最常见的数据可视化图形-词云图的制作方法。 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,393
精华内容 3,357
关键字:

python数据分析词云图