Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python频率从数据帧中提取WordCloud_Python_Word Cloud - Fatal编程技术网

使用python频率从数据帧中提取WordCloud

使用python频率从数据帧中提取WordCloud,python,word-cloud,Python,Word Cloud,我有一个数据帧,如下所示 Int64Index: 14830 entries, 25791 to 10668 Data columns (total 2 columns): word 14830 non-null object coef 14830 non-null float64 dtypes: float64(1), object(1) 我尝试使用coef作为频率来表示单词cloud 足够 text = df['word'] WordCloud.generate_from_te

我有一个数据帧,如下所示

Int64Index: 14830 entries, 25791 to 10668
Data columns (total 2 columns):
word    14830 non-null object
coef    14830 non-null float64
dtypes: float64(1), object(1)
我尝试使用coef作为频率来表示单词cloud 足够

text = df['word']
WordCloud.generate_from_text(text)
TypeError: generate_from_text() missing 1 required positional argument: 'text'

我如何改进这段代码&让wordcloud变成这样

from wordcloud import WordCloud
wordcloud = WordCloud( ranks_only= frequency).generate(text)
plt.imshow(wordcloud)
plt.axis('off')
plt.show()

谢谢你为我创建了一本字典,如下所示:

d = {}
for a, x in bag.values:
    d[a] = x

import matplotlib.pyplot as plt
from wordcloud import WordCloud

wordcloud = WordCloud()
wordcloud.generate_from_frequencies(frequencies=d)
plt.figure()
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()

其中,
bag
是一个包含列单词计数的数据帧。首先,我们得到元组列表

tuples = [tuple(x) for x in df.values]
然后


仅此而已

在堆栈溢出时,答案不应公开。最好自己写一个答案,不要把它作为你问题的一部分。你甚至可以接受自己的答案,将问题标记为已解决。@MERose thanx我做得很好!您也应该能够接受您的答案,可能是在等待很短的时间后。@Edward,您解决了您的问题吗?我下面的答案正确吗?它对你有帮助吗?我尝试了这个,我得到了
AttributeError:'list'对象没有属性'items'
。您对此有任何问题吗?@zanahorias使用dict(tuples)将元组转换为dict,并传递它将起作用。“”“wordcloud=wordcloud()。从\u频率(dict(tuples))生成\u顶部的循环是关键。谢谢:)
tuples = [tuple(x) for x in df.values]
wordcloud = WordCloud().generate_from_frequencies(dict(tuples))