使用jupyter notebook进行程序编写1.使用Pandas读取数据集。 2.统计每年的发文数量,并绘制折线图。 3.统计出版社的发文量信息,列出发文前10位的出版社。 4.使用jieba分词,对摘要进行分词统计,制作词频前30位的词
时间: 2024-02-01 07:14:08 浏览: 75
好的,让我们一步步来实现这些功能。
首先,我们需要安装必要的库,包括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来完成了这些任务。
阅读全文