数据框中的词云与频率Python

2024-09-30 00:41:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框如下

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作为频率来计算word cloud 足够

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

或者

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

如何改进此代码,使word cloud像这样

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

谢谢


Tags: columnstextfromclouddfobjectpltnull
2条回答

首先我们得到元组列表

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

那么

wordcloud = WordCloud().generate_from_frequencies(tuples)

仅此而已

对我来说,它创造了一本字典,就像这样:

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是一个pandas数据帧,具有列单词计数

相关问题 更多 >

    热门问题