首页 > 其他分享 >大型古诗词数据集的分析与管理

大型古诗词数据集的分析与管理

时间:2024-11-06 11:18:13浏览次数:3  
标签:分析 plt 数据 大型 0.01 朝代 print data 古诗词

一、案例学习

一、编程前的准备工作

1.配置好相应的 python 环境。

2.准备好需要处理的数据。

二、导入数据集

读取数据集,将古诗词数据集读取到 data 中,其数据集路径为:/data/shixunfiles/25e7c30b86628098543a7b03d04ecb76_1604025554485.csv
# 导入 numpy,pandas 库,用于读取 csv 文件,并对所读取的数据进行处理
import numpy as np
import pandas as pd
#读取数据集到 data 中
data = pd.read_csv(r'/data/shixunfiles/d4a509dafacf4685175609d0f317e832_1604299838697.csv')

三、数据概览

1.查看数据维度:通过查看数据维度我们可以得知所使用的数据集一共有多少条数据,每条数据是由多少个属性构成的。

# 看数据维度
print(data.shape)

2.查看数据集前 5 行数据:通过此条操作我们可以清晰且直观的看到数据的组成,能够知道每首古诗词的题目、所属朝代、作者以及具体内容。

#使用head()方法查看 data 中前五行的数据
data.head()

四、数据分析

1.我们先展示数据集中不同朝代古诗词的数量,通过其数量绘制古诗词在各朝代分布的饼状图。通过饼状图可以直观反映各个朝代的诗歌成就。

#显示不同朝代的诗歌数量
data.朝代.value_counts()

# 导入matplotlib库,绘制图像
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']
plt.figure(figsize=(10,10)) # 将画布设定为正方形,则绘制的饼图是正圆
label=['宋','明','清','唐','元','近现代','当代','南北朝','魏晋','金','隋','先秦','汉','辽']  # 定义饼图的标签,标签是列表
explode=[0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01] # 设定各项距离圆心 n 个半径

values=[287114,236957,90088,49195,37375,28419,28219,4586,3021,2741,1170,572,363,22]
plt.pie(values,explode=explode,labels=label,autopct='%1.1f%%')#绘制饼图
plt.title('各大朝代古诗词数量分布')#绘制标题
plt.show()

2.按照朝代发展年代进行排序,依次是:先秦、汉、魏晋、南北朝、隋、隋末唐初、唐、唐末宋初、宋、宋末元初、元、元末明初、明、明末清初、清、清末近现代初、近现代、近现代末当代初、当代。

import matplotlib.pyplot as plt
# 处理乱码
plt.rcParams['font.sans-serif']=['SimHei']
x = ['先秦', '汉','魏晋', '南北朝','隋','隋末唐初','唐','唐末宋初','宋','宋末元初','元','元末明初','明','明末清初','清','清末近现代初','近现代','近现代末当代初','当代']
y = [570, 364, 3021, 4586,1170,472,49195,1118,287114,12058,37375,15736,236957,17700,90088,27829,28419,5374,28219]
# "r" 表示红色,ms用来设置*的大小
plt.plot(x, y, "r", marker='*', ms=5)
plt.xticks(rotation=75) # x轴坐标斜着显示
plt.xlabel("朝代名字")
plt.ylabel("古诗词数量")
plt.title("朝代古诗词数量发展史")
# 在折线图上显示具体数值, ha参数控制水平对齐方式, va控制垂直对齐方式
for x1, y1 in zip(x, y):
    plt.text(x1, y1 + 1, str(y1), ha='center', va='bottom', fontsize=10, rotation=0)
plt.show()

五、数据的增删改查

1.选取特定行
可以指定自己想要的作者的所有诗词或者所有朝代的所有诗词等,或者当我们只记得诗名忘记其内容时可以对诗名进行查找,从而查看诗的内容。

# 提取李白的所有诗,这里用head只显示前十首
data_libai = data[data.作者.isin(['李白'])]
print(data_libai.head(10))

# 找到《静夜思》查看其内容
data1 = data[data.题目.isin(['静夜思'])]
print(data1)

data2 = data1[data1.作者.isin(['李白'])]
print(data2)

data3 = data[data.内容.isin(['床前明月光,疑是地上霜。举头望山月,低头思故乡。'])]
print(data3)

2.删除特定行、列

#删除指定列
data1.drop(['朝代'],axis=1,inplace=True)# axis为0代表行,为1代表列。inplace=True意思就是应用修改到文件中
print(data1)

# 删除行(某行或者某个范围)
data1.drop(data.index[467971],inplace=True)
print(data1)

#删除有“元”朝的所有行
data =data[~data.朝代.isin(['元'])]
print(data.head(10))


3.修改列表索引

data.columns = ['题目','朝代','作者','诗词内容']
print(data.head())

4.增加行列

# 增加列
data3.insert(4,'是否背诵','')
print(data3)

# 增加行
data3.loc[2] = ['九月十日即事','唐','李白','昨日登高罢,今朝更举觞。菊花何太苦,遭此两重阳。','是']
print(data3)

二、案例练习

根据上述案例学习内容,完成以下练习:

对唐代诗词进行分析处理

练习内容如下:

数据集路径如下:/data/shixunfiles/54efe04023cbc923b7feabbac5583f90_1607394157288.csv

1.导入数据集并查看数据集前10行数据

import numpy as np
import pandas as pd
data=pd.read_csv(r'/data/shixunfiles/54efe04023cbc923b7feabbac5583f90_1607394157288.csv')
data.head(10)

2.显示超过200首诗歌的唐代诗人并对诗人的诗词数量进行饼图可视化

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei']# 先筛选出唐代的诗词数据
tang_data = data[data.朝代 == '唐']# 统计每位唐代诗人的诗词数量
author_count = tang_data.作者.value_counts()# 筛选出诗词数量超过200首的唐代诗人及其数量
authors_over_200 = author_count[author_count > 200]# 准备绘制饼图的数据
labels = list(authors_over_200.index)
values = list(authors_over_200.values)
plt.figure(figsize=(10, 10))
explode = [0.01] * len(labels)
plt.pie(values, explode=explode, labels=labels, autopct='%1.1f%%')
plt.title('超过200首诗歌的唐代诗人诗词数量分布')
plt.show()

3.在该数据集中查询杜甫的《望岳》这首诗并显示

data_dufu_wangyue = data[(data.作者 == '杜甫') & (data.题目 == '望岳')]
print(data_dufu_wangyue)

4.删除数据集中“序号”这一列

data.drop(['序号'], axis=1, inplace=True)
print(data.head())

标签:分析,plt,数据,大型,0.01,朝代,print,data,古诗词
From: https://blog.csdn.net/qq_48858717/article/details/143565350

相关文章

  • CPU算法分析LiteAIServer视频智能分析平台视频智能分析:抖动、过亮与过暗检测技术
    随着科技的飞速发展,视频监控系统在各个领域的应用日益广泛。然而,视频质量的好坏直接影响到监控系统的效能,尤其是在复杂多变的光照条件下和高速数据传输中,视频画面常常出现抖动、过亮或过暗等问题,导致监控视频难以提供有效的信息。为了解决这些挑战,视频智能分析平台LiteAIServer引入......
  • 2025 - 全网最牛的生物信息学分析 - 一键式生成DIFF_GSEA_WGCNA_GO_KEGG_DO
    2025-全网最牛的生物信息学分析-一键式生成DIFF_GSEA_WGCNA_GO_KEGG_DO先给你炫一下图直接上代码setwd("/Users/wangyang/Desktop/BCBM/02DIFF_GSEA_WGCNA")#引用包library(ggplot2)library(limma)library(pheatmap)library(ggsci)library(dplyr)lappl......
  • 毕业设计【关注可白嫖源码】M博物馆文物信息管理(案例分析)
    摘 要   近年来,随着数字化信息技术的飞速发展,博物馆管理也逐渐走向信息化和智能化。本论文以M博物馆为研究对象,设计并实现了一套文物信息管理系统,旨在提升博物馆文物管理的效率和用户体验。    通过调研和需求分析,确定了系统的需求和功能模块。系统主要包括用......
  • 毕业设计【关注可白嫖源码】Web图书采购管理系统,项目编号:05614(案例分析)
    摘  要   随着图书市场的不断扩大和图书供应链的复杂化,传统的图书采购管理方式已经无法满足现代图书管理的需求。为了提高图书采购的效率和准确性,应用信息技术来设计和实现一个Web图书采购管理系统是十分必要的。   通过对用户和市场需求的分析,Web图书采购管......
  • 【可白嫖源码】基于微信小程序的医院门诊管理系统 (案例分析)
    摘 要    在当今数字化时代,便捷、高效的服务体验成为民众的新期待。基于微信小程序的医院门诊管理系统应运而生,旨在为用户提供一种更为轻便、快捷的预约服务方式。通过小程序,用户可以随时随地查询医生信息、办理预约挂号,无需繁琐的线下流程,大大提升了预约服务的便捷......
  • 【可白嫖源码】03115智能房屋租赁app(案例分析)
    摘  要    近年来,随着城市化进程的不断推进,房屋租赁市场需求不断增长。然而,传统的房屋租赁方式存在诸如信息不对称、交易不透明等问题,用户对于便捷、透明和个性化的房屋租赁服务需求逐渐凸显,因此,智能房屋租赁App应运而生。该App旨在整合现代技术,提供智能化、便捷化......
  • 【可白嫖源码】基于Web的古店藏品管理系统设计与开发(案例分析)
    摘  要    在科技发达的时代,Web古玩店藏品管理系统正经历着巨大的变化和发展。随着互联网和流媒体技术的兴起,本文设计并开发了一款基于SpringBoot的Web古玩店藏品管理系统。该系统旨在帮助古玩店管理和展示其藏品,提供便捷的操作和优化的用户体验;通过使用SpringBo......
  • 【八百客CRM-注册安全分析报告-无验证方式导致安全隐患】
    前言由于网站注册入口容易被黑客攻击,存在如下安全问题:1.暴力破解密码,造成用户信息泄露2.短信盗刷的安全问题,影响业务及导致用户投诉3.带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞所以大部分网站及App都采取图形验证码或滑动验证码等交互解决方案,但在机......
  • 科普文:软件架构Linux系列之【图解存储 IO性能优化与瓶颈分析】
    概叙科普文:软件架构Linux系列之【Linux的文件预读readahead】-CSDN博客科普文:软件架构Linux系列之【并发问题的根源:CPU缓存模型详解】-CSDN博客从上面冯诺依曼结构下的cpu、内存、外存之间的延迟就可以看出,磁盘I/O性能的发展远远滞后于CPU和内存,因而成为现代计算机系统的......