web-dev-qa-db-ja.com

頻度python)のデータフレームからのWordCloud

私は以下のようなデータフレームを持っています

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)

頻度として係数を使用してWordクラウドを作成しようとしますが、代わりに十分にカウントします

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クラウドをこのようにすることができますか

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

ありがとう

7
Edward

私にとっては、次のような辞書の作成に役立ちました。

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はa pandas DataFrame with columns words and counts

18
Ricardo M S

最初にタプルのリストを取得します

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

その後

wordcloud = WordCloud().generate_from_frequencies(dict(tuples))

それで全部です

1
Edward