实验目的: 学会使用Pandas操作csv数据集,并进行可视化。 数据集描述: 该数据集是CNKI中与“中药毒理反应”相关的文献信息,包含文章题目、作者、来源(出版社)、摘要、发表时间等信息。 实验要求: 1. 使用Pandas读取数据集。 2. 统计每年的发文数量,并绘制折线图。 3. 统计出版社的发文量信息,列出发文前10位的出版社。 4. 使用jieba分词,对摘要进行分词统计,制作词频前30位的词云图。(需安装jieba分词和词云工具包)。 结果提交: 使用jupyter notebook进行程序编写,形成.ipynb文件,使用“学号姓名”的方式进行命名,数据文件放在该文件同目录下。

时间: 2023-11-27 14:49:18 浏览: 40
好的,以下是实验的详细步骤和代码实现。 ## 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文件。 完整代码如下:

相关推荐

最新推荐

recommend-type

Pandas 按索引合并数据集的方法

今天小编就为大家分享一篇Pandas 按索引合并数据集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

使用Python(pandas库)处理csv数据

(注:本文写于做毕设期间,有处理大量csv文件的需要,故使用python强大的库资源来处理数据,希望对有需要的你提供帮助和启发) 使用Python(pandas)处理数据 原始数据和处理之后的样式 图中为一个csv文件,待处理的...
recommend-type

用Pandas和Folium做一个新冠数据可视化

目录数据集介绍可视化步骤1. 导入pandas等需要的库2. 读取数据,查看基本情况3. 读取城市坐标数据4. 按省份统计人数5. 合并城市坐标数据 与 省份数据6. 绘制地图写入HTML文件,并用浏览器打开完整代码 数据集介绍 1...
recommend-type

pandas分批读取大数据集教程

主要介绍了pandas分批读取大数据集教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

(二)爬取新房销售信息——数据分析+可视化篇

pandas & matplotlib 用于数据分析和可视化 上一个任务通过requests、BeautifulSoup4两个功能强大、用法简洁的函数库已经获取到了楼盘名、地址和价格这些新房信息,并且保存为csv格式文件,csv文件可以用excel打开并...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SPDK_NVMF_DISCOVERY_NQN是什么 有什么作用

SPDK_NVMF_DISCOVERY_NQN 是 SPDK (Storage Performance Development Kit) 中用于查询 NVMf (Non-Volatile Memory express over Fabrics) 存储设备名称的协议。NVMf 是一种基于网络的存储协议,可用于连接远程非易失性内存存储器。 SPDK_NVMF_DISCOVERY_NQN 的作用是让存储应用程序能够通过 SPDK 查询 NVMf 存储设备的名称,以便能够访问这些存储设备。通过查询 NVMf 存储设备名称,存储应用程序可以获取必要的信息,例如存储设备的IP地址、端口号、名称等,以便能
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。