对多行text中文数据去除停用词后提取关键字进行词云展示
时间: 2023-09-15 08:19:41 浏览: 79
中英文停用词 可用于提取提取关键字
5星 · 资源好评率100%
好的,可以使用类似于以下的代码来实现:
```python
import pandas as pd
import jieba
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('data.csv')
# 加载停用词
stop_words = set()
with open('stopwords.txt', 'r', encoding='utf-8') as f:
for line in f:
stop_words.add(line.strip())
# 定义函数,用于去除停用词和提取关键词
def extract_keywords(text, stop_words):
words = [word for word in jieba.cut(text) if word not in stop_words and len(word) > 1 and not word.isdigit()]
return Counter(words).most_common(10)
# 提取关键词
keywords = []
for text in df['text']:
keywords.extend(extract_keywords(text, stop_words))
# 绘制词云
wordcloud = WordCloud(width=800, height=400, font_path='msyh.ttc', background_color='white', max_font_size=100).generate_from_frequencies(dict(keywords))
plt.figure(figsize=(12, 8))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()
```
这段代码会读取名为 `data.csv` 的文件,然后加载停用词并定义一个函数用于去除停用词和提取关键词。接着会对文件中的每一行文本进行关键词提取,最后将所有的关键词合并起来,并使用 `WordCloud` 绘制词云。你可以将 `data.csv` 替换成你自己的数据文件,并根据需要调整函数参数和词云的绘制效果。
阅读全文