使用jupyter notebook进行程序编写1.使用Pandas读取数据集。 2.统计每年的发文数量,并绘制折线图。 3.统计出版社的发文量信息,列出发文前10位的出版社。 4.使用jieba分词,对摘要进行分词统计,制作词频前30位的词云图。(需安装jieba分词和词云工具包)。
时间: 2024-01-22 17:18:46 浏览: 83
data-stories-scripts:一组用于数据记录的脚本,以支持qri.io上的_Data Stories_
好的,让我们逐步实现这些步骤。
首先,我们需要安装必要的库。打开命令行窗口,输入以下命令:
```python
pip install pandas matplotlib jieba wordcloud
```
这将安装所需的库。
接下来,我们可以开始编写代码。首先,我们需要导入所需的库:
```python
import pandas as pd
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud
```
然后,我们可以使用Pandas读取数据集。假设数据集是一个CSV文件,名为“articles.csv”,并且位于当前工作目录中。我们可以使用以下代码读取数据集:
```python
df = pd.read_csv('articles.csv')
```
接下来,我们可以统计每年的发文数量,并绘制折线图。我们可以使用Pandas中的groupby和count函数来实现这一点,然后使用Matplotlib库来绘制折线图。
```python
# 统计每年的发文数量
yearly_counts = df.groupby(df['year']).count()['title']
# 绘制折线图
plt.plot(yearly_counts.index, yearly_counts.values)
plt.xlabel('Year')
plt.ylabel('Number of Articles')
plt.show()
```
接下来,我们可以统计出版社的发文量信息,并列出发文前10位的出版社。我们可以使用Pandas中的groupby和count函数来实现这一点。
```python
# 统计出版社的发文量信息
publisher_counts = df.groupby(df['publisher']).count()['title']
# 列出发文前10位的出版社
top_publishers = publisher_counts.sort_values(ascending=False)[:10]
print(top_publishers)
```
最后,我们可以使用jieba分词,对摘要进行分词统计,制作词频前30位的词云图。我们可以使用jieba和WordCloud库来实现这一点。
```python
# 对摘要进行分词
abstracts = ' '.join(df['abstract'])
words = jieba.cut(abstracts)
# 统计词频
word_counts = {}
for word in words:
if len(word) > 1:
word_counts[word] = word_counts.get(word, 0) + 1
# 制作词云图
wc = WordCloud(width=800, height=400, background_color='white', max_words=30)
wc.generate_from_frequencies(word_counts)
plt.imshow(wc)
plt.axis('off')
plt.show()
```
这就是我们的完整代码。注意,以上代码只是示例代码,具体实现方式可能会因数据集的不同而有所变化。
阅读全文