IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> python学习①|提取女友写的情书关键词制作成词云 -> 正文阅读

[开发工具]python学习①|提取女友写的情书关键词制作成词云

写在最前面

代码量高于一切
学习编程一定要上手去写。

学会问问题
学会使用搜索自己解决答案,我们遇到的问题90%都有人遇到过。遇到了bug就直接把错误代码粘贴复制google一下。

用案例去学习,用实践去学习
learn by doing.
不要用新华字典学习中文,通过基础实例教程来激发自己的学习兴趣和学习动力。

在我心中,程序员都是它们领域当中的开拓者,通过代码去创造和解决问题,这很厉害。我也应该学习这种解决问题的意识和能力。

一、撰写准备

1、词云库的安装

如何安装wordcloud库
这个过程中主要会遇到3个问题:

缺少轮子

这个网站

(https://blog.csdn.net/langezuibang/article/details/105667789)https://blog.csdn.net/langezuibang/article/details/105667789

找到适合自己版本的轮子。

如何查看anaconda的python的版本呢?

找到电脑上anaconda-打开文件所在位置-(看到几个快捷方式)-打开文件所在位置-
选中python右键属性-详细信息
在这里插入图片描述

如何查看自己的系统位数?

我的电脑-空白处右键属性在这里插入图片描述

综上得到我的版本应该是python3.8,x64处理器

如何找到特定版本的轮子?

搜索大法好啊。
点击网址后,ctrl + f,在搜索框里搜索wordcloud。
最终选到心仪的轮子。
在这里插入图片描述

其他小问题

升级pip

升级教程

python -m pip install --upgrade pip

更换镜像安装加速

永久更换

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

其他镜像源

豆瓣:http://pypi.douban.com/simple/
中科大:https://pypi.mirrors.ustc.edu.cn/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云:https://mirrors.aliyun.com/pypi/simple/

暂时更换

pip install pandas -i http://pypi.douban.com/simple/

每次的安装包后添加-i http://链接

二、词云撰写

1、四行代码-词云低配版

import wordcloud
w=wordcloud.WordCloud()
w.generate('hello,yes,ok and i love you')
w.to_file('test1.png')

在这里插入图片描述

思路:

  • 引入库
  • 调用wordcloud
  • 处理文字用生成函数
  • 导出为图片

2、提取女朋友写的情书关键词并做成词云

库的引用

import re,os
import jieba
import docx
from wordcloud import WordCloud,ImageColorGenerator
import matplotlib.pyplot as plt
import imageio
os.chdir('D:\pythonAds2021\wordcloud')

进行中文分词

jgov=jieba.cut(rgov,cut_all=False)

进行词频统计

# 建立列表,作为遍历的基础
seglist=list(jgov)

# 建立字典,存放词与对应的词频
 
tf={}
 
# 遍历:所有的元素第一遍都被赋值为一,第二次遍历时value+1
for seg in seglist:
    if seg in tf:
        tf[seg]+=1
    else:
        tf[seg]=1

引入停词表

 # 引入停词表
with open ('stopword.txt',encoding='utf-8')as f1:
    st=f1.read()
# 建立ci,作为词频遍历的基础
ci=list(tf.keys())

进行词频筛选

# 词频小于五的去除,长度小于2的去除,含一的去除,在停词表的去除
for seg in ci :
    if tf[seg]<5 or len(seg)<2 or '一'in seg or seg in st or '事情'in seg or '东西'in seg:
        tf.pop(seg)

读取词云的框图
在这里插入图片描述

mk=imageio.imread('heart.png')
wcd=WordCloud(font_path='D:\pythonAds2021\Alibaba-PuHuiTi-Heavy.otf',
             mask=mk,
             background_color=None, mode='RGBA',scale=32, max_words=100).generate_from_frequencies(tf)
# 引入颜色
imcolor=ImageColorGenerator(mk)
# 重新上色
plt.imshow(wcd.recolor(color_func=imcolor))
wcd.to_image()
wcd.to_file('dog.png')

结果展示
在这里插入图片描述

完整代码

import re,os
import jieba
import docx
from wordcloud import WordCloud,ImageColorGenerator
import matplotlib.pyplot as plt
import imageio
os.chdir('D:\pythonAds2021\wordcloud')
# 读取docx文档
def readFile(path):
    file=docx.Document(path)
    # 读取每一段的内容
    article = ' '
    for para in file.paragraphs:
        if para != '/n':
            article = article + '' + para.text
    return article
rgov=readFile("今天我喜欢的人他过生日.docx")

jgov=jieba.cut(rgov,cut_all=False)
 
# 建立列表,作为遍历的基础
seglist=list(jgov)
 
# 建立字典,存放词与对应的词频
 
tf={}
 
# 遍历:所有的元素第一遍都被赋值为一,第二次遍历时value+1
for seg in seglist:
    if seg in tf:
        tf[seg]+=1
    else:
        tf[seg]=1
 # 引入停词表
with open ('stopword.txt',encoding='utf-8')as f1:
    st=f1.read()
# 建立ci,作为词频遍历的基础
 
ci=list(tf.keys())
 
# 词频小于五的去除,长度小于2的去除,含一的去除,在停词表的去除
for seg in ci :
    if tf[seg]<5 or len(seg)<2 or '一'in seg or seg in st or '事情'in seg or '东西'in seg:
        tf.pop(seg)
# 通过imageio引入mask
 
mk=imageio.imread('heart.png')
 
# 使用WordCloud,字体位置,mask,背景透明
 
# 并采用根据词频生成词云图
wcd=WordCloud(font_path='D:\pythonAds2021\Alibaba-PuHuiTi-Heavy.otf',
             mask=mk,
             background_color=None, mode='RGBA',scale=32).generate_from_frequencies(tf)
 
# 引入颜色
imcolor=ImageColorGenerator(mk)
# 重新上色
plt.imshow(wcd.recolor(color_func=imcolor))
wcd.to_image()
wcd.to_file('dog.png')
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:33:04  更:2021-11-22 12:33:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:43:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码