wordcloud无法将float NaN转换为整数

时间:2018-09-07 08:04:46

标签: python-3.x word-cloud

我在将pdf中的文本向量化后试图创建wordcloud,并且出现以下错误: 无法将float NaN转换为整数

这是其中的一部分代码

from wordcloud import WordCloud as wc
DoW = dict(zip(b,a))

zg = wc(max_font_size=12)
p=wc.generate_from_frequencies(zg, frequencies = DoW)
from matplotlib import pyplot as plt
plt.figure(figsize = (50,50))

plt.imshow(p)

在列表中将list(range(12)替换为DoW = dict(zip(b,a))可解决此问题,但我看不出原始变量中的数据有什么问题

a和b是从我的数据集中切出的,

a:array([1,0,0,0,0,0,0,0,1,0,0,0],dtype = int64)

b:[“减轻”,  'mm',  '移动',  '模型',  “模块化”  '湿气',  '监控',  '更多',  '最',  '移动',  '运动',  '很多']

完整错误:

p=wc.generate_from_frequencies(zg, frequencies = DoW)
C:\ProgramData\Anaconda3\lib\site-packages\wordcloud\wordcloud.py:464: RuntimeWarning: invalid value encountered in double_scalars
  font_size = int(round((rs * (freq / float(last_freq))

Traceback (most recent call last):

  File "<ipython-input-120-a3e0214149fa>", line 1, in <module>
    p=wc.generate_from_frequencies(zg, frequencies = DoW)

  File "C:\ProgramData\Anaconda3\lib\site-packages\wordcloud\wordcloud.py", line 465, in generate_from_frequencies
    + (1 - rs)) * font_size))

ValueError: cannot convert float NaN to integer

使用python 3,wordcloud版本1.5.0

编辑: 我知道将a重置为输出的值会将错误更改为:浮点数除以零,我怀疑这可能是因为每个术语应至少出现一次。但是,这不能解决我的原始错误(将数据切片,并且我怀疑是否有未使用的术语,因为变量是从以下切片:vectorizer.fit_transform(cleanParagraphs).toarray()和vectorizer.get_feature_names()

0 个答案:

没有答案