写一个微博评论分析的可视化代码
时间: 2023-09-30 15:03:26 浏览: 157
微博用户评论情感分析python代码(数据规模20w)
3星 · 编辑精心推荐
首先,我们需要一个微博评论数据集。假设我们已经有了一个 CSV 文件,其中每行包含评论文本和对应的情感标签(正面、中性、负面)。我们可以使用 pandas 库读取数据:
```python
import pandas as pd
df = pd.read_csv('weibo_comments.csv')
```
接下来,我们可以使用 jieba 分词库进行中文分词,并使用 wordcloud 库生成词云图。
```python
import jieba
from wordcloud import WordCloud
# 将所有评论文本合并成一个字符串
text = ' '.join(df['comment'])
# 对文本进行分词
words = jieba.cut(text)
# 将分词结果转化为列表
word_list = [word for word in words]
# 将列表转化为空格分隔的字符串
word_string = ' '.join(word_list)
# 生成词云图
wordcloud = WordCloud(width=800, height=600, font_path='msyh.ttc', background_color='white').generate(word_string)
wordcloud.to_image()
```
接下来,我们可以根据情感标签将评论分类,并计算每类评论的数量。
```python
# 按情感标签分组
grouped = df.groupby('sentiment')
# 计算每类评论的数量
counts = grouped.size()
# 打印结果
print(counts)
```
最后,我们可以使用 matplotlib 库绘制柱状图来展示每类评论的数量。
```python
import matplotlib.pyplot as plt
# 设置图形尺寸和字体
plt.figure(figsize=(8, 6))
plt.rcParams['font.sans-serif'] = ['SimHei']
# 绘制柱状图
plt.bar(counts.index, counts.values)
# 添加标题和标签
plt.title('微博评论情感分析')
plt.xlabel('情感标签')
plt.ylabel('评论数量')
# 显示图形
plt.show()
```
完整代码如下:
```python
import pandas as pd
import jieba
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('weibo_comments.csv')
# 将所有评论文本合并成一个字符串
text = ' '.join(df['comment'])
# 对文本进行分词
words = jieba.cut(text)
# 将分词结果转化为列表
word_list = [word for word in words]
# 将列表转化为空格分隔的字符串
word_string = ' '.join(word_list)
# 生成词云图
wordcloud = WordCloud(width=800, height=600, font_path='msyh.ttc', background_color='white').generate(word_string)
wordcloud.to_image()
# 按情感标签分组
grouped = df.groupby('sentiment')
# 计算每类评论的数量
counts = grouped.size()
# 绘制柱状图
plt.figure(figsize=(8, 6))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.bar(counts.index, counts.values)
plt.title('微博评论情感分析')
plt.xlabel('情感标签')
plt.ylabel('评论数量')
plt.show()
```
阅读全文