实验目的: 学会使用Pandas操作csv数据集,并进行可视化。 数据集描述: 该数据集是CNKI中与“中药毒理反应”相关的文献信息,包含文章题目、作者、来源(出版社)、摘要、发表时间等信息。 实验要求: 1. 使用Pandas读取数据集。 2. 统计每年的发文数量,并绘制折线图。 3. 统计出版社的发文量信息,列出发文前10位的出版社。 4. 使用jieba分词,对摘要进行分词统计,制作词频前30位的词云图。(需安装jieba分词和词云工具包)。 结果提交: 使用jupyter notebook进行程序编写,形成.ipynb文件,使用“学号姓名”的方式进行命名,数据文件放在该文件同目录下。
时间: 2023-11-27 08:49:18 浏览: 188
这是本人做pandas练习时使用的csv数据.zip
好的,以下是实验的详细步骤和代码实现。
## 1. 使用Pandas读取数据集
首先需要导入Pandas库,并使用read_csv()方法读取csv文件。假设我们的数据集文件名为“data.csv”,代码如下:
```python
import pandas as pd
data = pd.read_csv('data.csv', encoding='utf-8')
```
其中,encoding参数指定了读取文件时使用的编码方式,这里我们选择了utf-8。
## 2. 统计每年的发文数量,并绘制折线图
要统计每年的发文数量,需要先将“发表时间”这一列的数据转换为日期格式,然后提取出年份,再使用groupby()方法对年份进行分组统计。代码如下:
```python
# 转换日期格式并提取年份
data['发表时间'] = pd.to_datetime(data['发表时间'], format='%Y-%m-%d')
data['年份'] = data['发表时间'].dt.year
# 按年份分组并统计数量
year_count = data.groupby('年份').size()
# 绘制折线图
import matplotlib.pyplot as plt
plt.plot(year_count.index, year_count.values)
plt.xlabel('Year')
plt.ylabel('Number of Papers')
plt.title('Number of Papers Published Each Year')
plt.show()
```
这里使用了Matplotlib库来绘制折线图,其中plt.plot()方法用于绘制折线图,plt.xlabel()和plt.ylabel()方法用于设置坐标轴标签,plt.title()方法用于设置图表标题,plt.show()方法用于显示图表。
## 3. 统计出版社的发文量信息,列出发文前10位的出版社
要统计出版社的发文量信息,只需要使用groupby()方法对“来源”这一列进行分组统计,并按数量降序排列,然后取前10条记录即可。代码如下:
```python
# 按出版社分组并统计数量
publisher_count = data.groupby('来源').size().sort_values(ascending=False)
# 取前10条记录并打印
print(publisher_count[:10])
```
## 4. 使用jieba分词,对摘要进行分词统计,制作词频前30位的词云图
要使用jieba分词,需要先安装jieba库。可以通过pip命令来安装,命令如下:
```
pip install jieba
```
安装完成后,就可以使用jieba库提供的方法来进行分词了。代码如下:
```python
import jieba
from collections import Counter
from wordcloud import WordCloud
# 将摘要合并成一个字符串
text = ''.join(data['摘要'].tolist())
# 对字符串进行分词
words = jieba.cut(text)
# 统计词频并取前30位
word_count = Counter(words)
top30_words = word_count.most_common(30)
# 制作词云图
wordcloud = WordCloud(font_path='SimHei.ttf', width=800, height=600, background_color='white')
wordcloud.generate_from_frequencies(dict(top30_words))
wordcloud.to_file('wordcloud.png')
```
这里使用了collections库的Counter类来统计词频,使用wordcloud库来制作词云图。制作词云图需要指定字体文件(这里选择了SimHei.ttf),以及图像的宽度、高度和背景颜色。最后将词云图保存为wordcloud.png文件。
完整代码如下:
阅读全文