Python 中的词云

Word Cloud in Python

有一个数据框:1

使用下面的代码但是得到ValueError: We need at least 1 word to plot a word cloud, got 0.

有谁知道如何解决这个问题;我正在尝试生成 3 个词云,一个用于所有推文,一个用于真实推文,一个用于假推文。

提前感谢您的帮助:)

df_real = df[df['label']==1]

df_fake = df[df['label']==0]

tweet_All = " ".join(review for review in df.Tweet)

tweet_real = " ".join(review for review in df_real.Tweet)

tweet_fake = " ".join(review for review in df_fake.Tweet)

fig, ax = plt.subplots(3, 1, figsize  = (30,30))
# Create and generate a word cloud image:
wordcloud_ALL = WordCloud(max_font_size=50, max_words=100, background_color="white").generate(tweet_All)
wordcloud_ADR = WordCloud(max_font_size=50, max_words=100, background_color="white").generate(str(tweet_real))
wordcloud_NADR = WordCloud(max_font_size=50, max_words=100, background_color="white").generate(str(tweet_fake))

# Display the generated image:
ax[0].imshow(wordcloud_ALL, interpolation='bilinear')
ax[0].set_title('All Tweets', fontsize=30)
ax[0].axis('off')
ax[1].imshow(wordcloud_ADR, interpolation='bilinear')
ax[1].set_title('Tweets under real Class',fontsize=30)
ax[1].axis('off')
ax[2].imshow(wordcloud_NADR, interpolation='bilinear')
ax[2].set_title('Tweets under fake Class',fontsize=30)
ax[2].axis('off')

df['label'] 似乎是 str (或对象)类型:在您的屏幕截图中,它显示“假”作为条目。也许 df_real 和 df_fake 是空的? 我会尝试展示 df_real 和 df_fake 的头像。

一个解决方案是将第一行替换为

df_real = df[df['label']!='fake']
df_fake = df[df['label']=='fake']