python用 dataframe转化为字典——主要针对已知词频,用来制作词云图(图片)

oracle 操作表时没及时提交事务造成死锁问题,解决方案如下:

#########################用词频来画图#####################################
## 词频统计
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud
import pandas as pd
import wordcloud # 词云展示库
import numpy as np
from PIL import Image # 图像处理库
text = open(r'G:\分析资料-2019年7月\关键词.txt',"r").read()
counts = {}
words = jieba.lcut(text)
for word in words:
    if len(word) == 1:    # 单个词语不计算在内
        continue
    else:
        counts[word] = counts.get(word, 0) + 1    # 遍历所有词语,每出现一次其对应的值加 1
## 按照频次排序
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)    # 根据词语出现的次数进行从大到小排序
## 打印出排名前10的词
for i in range(10):
    word, count = items[i]
    print(word, count)
## 画词云图
wc = WordCloud(
    font_path='simhei.ttf',     #字体路劲
    background_color='white',   #背景颜色
    width=600,
    height=800,
    max_font_size=50,            #字体大小
    scale = 2,
    min_font_size=10,
    mask=plt.imread('G:\job_BDA\work2019\客户满意度\客户满意度分析资料-2019年7月\map-background.jpg','#FFFFFF'),  #背景图片
    max_words=100
)

mask = np.array(Image.open('map-background.jpg')) # 定义词频背景
wc.generate_from_frequencies(counts) # 从字典生成词云
image_colors = wordcloud.ImageColorGenerator(mask) # 从背景图建立颜色方案
#wc.recolor(color_func=image_colors) # 将词云颜色设置为背景图方案
wc.to_file('G:/job_BDA/work2019/客户满意度/客户满意度分析资料-2019年7月/ciyun_res4.jpg')    #图片保存

plt.imshow(wc) # 显示词云
plt.axis('off') # 关闭坐标轴
plt.show() # 显示图像


你可能感兴趣的:(work)