jupyter统计自己分词后的词频
时间: 2023-07-23 07:10:43 浏览: 49
在Jupyter中,可以使用相同的代码来统计自己分词后的词频。需要先在Jupyter中安装jieba和Counter模块,可以使用以下命令:
```
!pip install jieba
```
然后,在Jupyter中执行以下代码:
```python
from collections import Counter
import jieba
text = "这是一个测试文本,测试文本用来测试分词器的效果。"
word_list = jieba.lcut(text)
word_count = Counter(word_list)
print(word_count)
```
执行结果将会输出单词及其对应的出现次数。
相关问题
jupyter 读取自己的csv来去除中文停用词
你可以使用 Python 的 pandas 库来读取 CSV 文件,并使用中文停用词列表来去除停用词。以下是一些示例代码:
```python
import pandas as pd
import jieba
from zhon import hanzi # 用于匹配中文字符的库
from collections import Counter
# 读取 CSV 文件
df = pd.read_csv("your_file.csv")
# 定义中文停用词列表
stop_words = ['的', '了', '在', '是', '我', '有', '和', '就', '不', '人', '都', '一', '一个', '上', '也', '很', '到', '说', '要', '去', '你', '会', '着', '没有', '看', '好', '自己', '这']
# 定义分词函数
def cut_words(sentence):
# 匹配中文字符
pattern = hanzi.characters
# 分词并去除停用词
words = [word for word in jieba.cut(sentence) if word not in stop_words and re.match(pattern, word)]
return words
# 对文本进行分词
df['words'] = df['text'].apply(cut_words)
# 统计词频
word_counts = Counter([word for words in df['words'] for word in words])
# 打印出现频率最高的 20 个词语
for word, count in word_counts.most_common(20):
print(f"{word}: {count}")
```
在这个例子中,我们使用了 pandas 库来读取 CSV 文件,并使用 jieba 库进行中文分词。我们还定义了一个中文停用词列表,以去除常见的无意义词语。最后,我们使用 Counter 对所有词语进行计数,并打印出现频率最高的 20 个词语。请注意,这只是一个示例,你需要根据自己的需求进行修改和调整。
使用jupyter notebook进行程序编写1.使用Pandas读取数据集。 2.统计每年的发文数量,并绘制折线图。 3.统计出版社的发文量信息,列出发文前10位的出版社。 4.使用jieba分词,对摘要进行分词统计,制作词频前30位的词
好的,让我们一步步来实现这些功能。
首先,我们需要安装必要的库,包括pandas, matplotlib和jieba。你可以在命令行中使用以下命令进行安装。
```
pip install pandas matplotlib jieba
```
接下来,我们将使用pandas来读取数据集。假设数据集名为"articles.csv",并位于当前工作目录中。我们可以使用以下代码读取它。
```python
import pandas as pd
df = pd.read_csv('articles.csv')
```
现在,我们已经成功加载了数据集。接下来,我们将使用pandas和matplotlib来统计每年的发文数量,并绘制折线图。
```python
import matplotlib.pyplot as plt
# 添加一列"year",用于存储每篇文章的年份
df['year'] = pd.DatetimeIndex(df['publish_time']).year
# 统计每个年份的文章数量
year_counts = df['year'].value_counts().sort_index()
# 绘制折线图
plt.plot(year_counts.index, year_counts.values)
plt.xlabel('Year')
plt.ylabel('Number of Articles')
plt.show()
```
现在,我们已经成功绘制了每年的发文数量折线图。接下来,我们将统计出版社的发文量信息,并列出前10位的出版社。
```python
# 统计每个出版社的文章数量
publisher_counts = df['journal'].value_counts()
# 列出前10位的出版社
top_publishers = publisher_counts[:10]
print(top_publishers)
```
我们可以看到前10位的出版社及其文章数量。现在,我们将使用jieba来分词并统计摘要中的词频。
```python
import jieba
from collections import Counter
# 定义分词函数
def cut_words(text):
words = jieba.cut(text)
return [word for word in words if len(word) > 1]
# 对每篇文章的摘要进行分词
abstracts = df['abstract'].dropna().apply(cut_words)
# 合并所有摘要的分词结果
all_words = [word for abstract in abstracts for word in abstract]
# 统计词频并列出前30位
word_counts = Counter(all_words)
top_words = word_counts.most_common(30)
print(top_words)
```
现在,我们已经成功地使用了pandas,matplotlib和jieba来完成了这些任务。