高考技术——pandas使用

百家讲坛,谈论古今,今天我们不聊别的,我们来聊一聊中国的国宝——大熊猫(bushi)

好好,言归正传,我们今天来讲pandas

import pandas as pd

申明无需多言,高考主要考察Series和DataFrame的用法

一.Series 

1.声明

s1 = pd.Series([168,176,169]) #创建Series
s2 = pd.Series([168,176,169],index = ['s1','s2','s3']) #更改Series的index

两种声明方式 ,效果如图:

 2.遍历方式

for i in s2.values:print(i)  #输出所有值
for i in s2.index:print(i)  #输出所有index
for i in s2:print(i)  #输出所有值

三种遍历,没有指定则默认输出values,如第三个循环,效果如图:

3.值的获取,修改 

s2[0] = 123
s2["s2"] = 123
s2.s3 = 123  #三种修改值的方法s2["s4"] = 123  #若没有s4,则增加s4并赋值
s2.s5 = 123  #不可以使用这种方式

获取到对应的index并且拿出或者修改相应的值 ,修改后s2变为如图

二.DataFrame 

1.声明

df1 = pd.DataFrame({"姓名":["a1","a2","a3"],"身高":[168,169,170]})  #字典方式生成
df2 = pd.DataFrame({"姓名":["a1","a2","a3"],"身高":[168,169,170]},columns = ["姓名","成绩"]) #字典方式下,若设置了columns,则服从columns
df3 = pd.DataFrame([["a1",168],["a2",169],["a3",170]],columns = ["姓名","身高"],index=['s1','s2','s3'])  #列表方式生成,index和columns的位置可以互换
print(df3)

三种声明方式,字典可以不设置columns,若设置则服从设置,用列表则一定需要columns,效果如图:

2.读取excel 

df4 = pd.read_excel("test_01.xlsx") #读取excel文件

注意需要放在同一个目录下

为了方便大家学习,我们来整一点活把excel文件分享给大家,大家可以直接下载使用 

这是excel内的表格

这是pandas的输出 

3.遍历

for i in df4:print(i) #输出columns
for i in df4.columns:print(i) #输出columns
for i in df4.index:print(i) #输出index
for i in df4.values:print(i) #输出values 一个values为一行,输出形式为列表

输出效果如图 

import pandas as pd####################################################################################################
#########################################Series 使用#################################################
####################################################################################################s1 = pd.Series([168,176,169]) #创建Series
s2 = pd.Series([168,176,169],index = ['s1','s2','s3']) #更改Series的indexprint(s1)
print(s2)for i in s2.values:print(i)  #输出所有值
for i in s2.index:print(i)  #输出所有index
for i in s2:print(i)  #输出所有值s2[0] = 123
s2["s2"] = 123
s2.s3 = 123  #三种修改值的方法s2["s4"] = 123  #若没有s4,则增加s4并赋值
s2.s5 = 123  #不可以使用这种方式
print(s2)
####################################################################################################
####################################dataframe使用####################################################
####################################################################################################df1 = pd.DataFrame({"姓名":["a1","a2","a3"],"身高":[168,169,170]})  #字典方式生成
df2 = pd.DataFrame({"姓名":["a1","a2","a3"],"身高":[168,169,170]},columns = ["姓名","成绩"]) #字典方式下,若设置了columns,则服从columns
df3 = pd.DataFrame([["a1",168],["a2",169],["a3",170]],columns = ["姓名","身高"],index=['s1','s2','s3'])  #列表方式生成,index和columns的位置可以互换
print(df3)df4 = pd.read_excel("test_01.xlsx") #读取excel文件
print(df4)for i in df4:print(i,end = ' ') #输出columns
print("\n")
for i in df4.columns:print(i,end = ' ') #输出columns
print("\n")
for i in df4.index:print(i,end = ' ') #输出index
print("\n")
for i in df4.values:print(i) #输出values 一个values为一行,输出形式为列表print(df4.T) #行列转置,不对df4产生更改
print(df4.学校)
print(df4["学校"]) #获取对应columns下的列
print(df4[ ["学校","2020年分数线"] ]) #获取多个columns下的值,注意中括号的数量
print(df4[2:3]) #获取对应index下的值,使用切片,这里输出 index = 2 的整一行
print(df4["学校"][2])
print(df4.at[2,"学校"]) #获取对应行列下的值
print(df4[df4["2020年分数线"]>=530]) #获取2020年分数线大于530的学校的整行,格式为DataFrame
df4["2022年分数线"] = [1,2,9999,4,5,6,7,8,9,10,11,12,13,14,15]  #更改数据,若没有这一列,则追加该列,df4.只用于访问更改,不用于追加print(df4.count()) #统计每一列的个数(为非空 即不为 NaN 的个数)
print(df4["学校"].count()) #统计该列的个数print(df4.sum()) #计算每一列的总和
print(df4["排名"].sum()) #计算该列的总和print(df4["排名"].mean()) #计算该列的平均数print(df4["排名"].max())
print(df4["排名"].min()) #输出每一列的最大最小值,注:此处输出的是一个数值print(df4["2020年分数线"].describe()) #获取该列各种各样的统计的数据,比如百分位数,平均数等等print(df4.head())
print(df4.tail()) #返回DataFrame前n行或后n行,n默认为5df5 = pd.DataFrame([["s2c1神班",-1,99999,99999,99999]],columns=["学校","排名","2020年分数线","2021年分数线","2022年分数线"],index = [1])
df6 = pd.DataFrame({"学校":"s2c1神班","排名":-1,"2020年分数线":99999,"2021年分数线":99999,"2022年分数线":99999},index = [1])
df7 = df4._append(df5,ignore_index = True) #在df7后面追加df5,ignore_index默认为False,若为True,则追加的df的index接续上面的index,比如df4的结尾index为15,则神班的index=16
print(df7)df7.insert(loc = 2, column= "实力" , value = [0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,999999])
print(df7) #插入一列,插入后为第二列(从0开始编号),列标题为“实力”,注意value的个数一定等于行数print(df7.drop(["2021年分数线"],axis = 1)) #删除列,axis = 1表示删除列,注意:此处不改变df7的数值
print(df7.drop(0)) #删除第一行数据
print(df7.drop([0,1])) #删除多行数据,注意:后续index的值不变print(df7.sort_values(by = ["实力"])) #按照实力升序排位
print(df7.sort_values(by = ["实力"],ascending = False)) #按照实力降序排位
print(df7.sort_values(by = ["实力","排名"],ascending = False)) #先按照实力排位,若相同再按照排名排序

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/439711.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Docker】docker的存储

介绍 docker存储主要是涉及到3个方面: 第一个是容器启动时需要的镜像 镜像文件都是基于图层存储驱动来实现的,镜像图层都是只读层, 第二个是: 容器读写层, 容器启动后,docker会基于容器镜像的读层&…

多文件并发多线程MD5工具(相对快速的MD5一批文件),适配自定义MD5 Hash I/O缓存。

自己写的多文件 MD5校验工具,一个文件开一个线程,有最大I/O 缓存设置,兼容读写MD5后缀文件。 共计91个文件,合计180G左右 12分钟左右,UI基本卡废,但程序没蹦,属于正常。 卡的原因是基本是用 I/O…

WSL2Linux 子系统(十二)

wsl 子系统安装 cuda 环境 《WSL2Linux 子系统(十一)》讲述 WSL 网络转为桥接模式的两种方法,WSL 网络桥接模式无论是静态 IP 还是动态分配 IP 均支持。本篇文章则是简单讲述 WSL 安装 cuda 环境。 作者:炭烤毛蛋 ,点击博主了解更多。 提示…

RabbitMQ的各类工作模式介绍

简单模式 P: ⽣产者, 也就是要发送消息的程序 C: 消费者,消息的接收者 Queue: 消息队列, 图中⻩⾊背景部分. 类似⼀个邮箱, 可以缓存消息; ⽣产者向其中投递消息, 消费者从其中取出消息.特点: ⼀个⽣产者P,⼀个消费者C, 消息只能被消费⼀次. 也称为点对点(Point-to-…

从零开始构建大型语言模型——实现注意力机制

本章内容: 使用注意力机制的原因基本的自注意力框架,逐步深入到增强的自注意力机制允许LLMs逐个生成词元的因果注意力模块通过dropout随机屏蔽部分注意力权重以减少过拟合将多个因果注意力模块堆叠为多头注意力模块 到目前为止,你已经了解了…

参数标准+-db和-db

-db是因为比值是相近的,值越进行越好,正负db代表两个值差异不大,可以分子比分母大或者分母比分子大-db代表串扰,分子比分母小,所以负db的值越小越好

【预备理论知识——2】深度学习:线性代数概述

简单地说,机器学习就是做出预测。 线性代数 线性代数是数学的一个分支,主要研究向量空间、线性方程组、矩阵理论、线性变换、特征值和特征向量、内积空间等概念。它是现代数学的基础之一,并且在物理学、工程学、计算机科学、经济学等领域有着…

港股大跌敲响警钟

10月3日,港股早间突如其来的下跌一度登上热搜榜,而午后回暖的恒指则一度抹去跌幅持平。截至当日收盘,恒指跌1.47%,报22,113.51点,守住了22000点关口;恒生科技指数跌、跌3.46%,报4978…

使用微服务Spring Cloud集成Kafka实现异步通信

在微服务架构中,使用Spring Cloud集成Apache Kafka来实现异步通信是一种常见且高效的做法。Kafka作为一个分布式流处理平台,能够处理高吞吐量的数据,非常适合用于微服务之间的消息传递。 微服务之间的通信方式包括同步通信和异步通信。 1&a…

深度学习之开发环境(CUDA、Conda、Pytorch)准备(4)

目录 1.CUDA 介绍 1.1 CUDA 的基本概念 1.2 CUDA 的工作原理 1.3 CUDA 的应用领域 2. 安装CUDA 2.1 查看GPU版本 2.2 升级驱动(可选) 2.3 查看CUDA版本驱动对应的支持的CUDA ToolKit工具包 2.4 下载Toolkit 2.5 安装(省略&#xff0…

均值模板和二阶差分模板的频率响应

均值模板和二阶差分模板都是偶对称。实偶函数的傅里叶变换仍是实偶函数。 给个证明过程 实偶函数 一个函数 f ( x ) f(x) f(x) 被称为实偶函数,如果它满足以下条件: f ( − x ) f ( x ) f(-x) f(x) f(−x)f(x) 傅里叶变换 对于一个实偶函数 f (…

用Python实现运筹学——Day 13: 线性规划的高级应用

一、学习内容 1. 多目标线性规划 多目标线性规划(MOLP)是线性规划的扩展形式,涉及多个相互冲突的目标函数。这类问题在实际应用中非常普遍,例如在供应链管理中,可能需要同时优化成本、时间、质量等多个目标。由于多个…

python如何比较字符串

Python可使用cmp()方法来比较两个对象,相等返回 0 ,前大于后,返回 1,小于返回 -1。 a "abc" b "abc" c "aba" d "abd" print cmp(a,b) print cmp(a,c) print cmp(a,d) //返回 0 1 …

速览!2024 CSP-J1/S1 河北也被实名举报泄题

据NOI官网消息,继2024 CSP-J/S第一轮认证陕西鸿泉培训机构泄题之后,重考!CSP-J/S 2024第一轮认证泄题后续进展及疑问,河北某学校也被学生实名举报泄题,河北某同学在认证前一天以非正当手段获得了认证题目且属实&#x…

(C语言贪吃蛇)16.贪吃蛇食物位置随机(完结撒花)

目录 前言 修改方向 修改内容 效果展示 两个新的问题🙋 1.问题1 2.问题2 代码如下: 前言 我们上一节实现了贪吃蛇吃食物身体节点变长,但是食物的刷新位置不是随机的,并且初始化几次后食物就刷不见了,本节我们就来…

论文阅读笔记-How to Fine-Tune BERT for Text Classification?

前言 How to Fine-Tune BERT for Text Classification? 预训练语言模型很强,通过微调可以给你的任务模型带来明显的提升,但是针对具体的任务如何进行微调使用,就涉及到了考经验积累的tricks,最近在打文本相关的比赛,正好用预训练模型为基础构建下游任务模型,所以着重的…

qemu模拟arm64环境-构建6.1内核以及debian12

一、背景 手头没有合适的arm64开发板,但是需要arm的环境,于是想到qemu模拟一个。除了硬件交互以外,软件层面的开发还是都可以实现的。 虚拟机还能自定义内存大小和镜像大小,非常适合上板前的验证,合适的话再买也不迟。…

C++面向对象:继承!

前言 继承是面向对象三大特性之一,所有的面向对象的语言都具备这三个性质,我们之前已经介绍过了封装的相关概念,今天我们来学习一下第二大特性:继承。 一.继承的概念 什么是继承? 定义:继承(…

第十二届蓝桥杯嵌入式省赛程序设计题解析(基于HAL库)(第一套)

一.题目分析 (1).题目 (2).题目分析 1.串口功能分析 a.串口接收车辆出入信息:通过查询车库的车判断车辆是进入/出去 b.串口输出计费信息:输出编号,时长和费用 c.计算停车时长是难点&#x…

【IO】多路转接Select

一、初识 select 系统提供 select 函数来实现多路复用输入/输出模型. select 系统调用是用来让我们的程序监视多个文件描述符的状态变化的;程序会停在 select 这里等待&#xff0c;直到被监视的文件描述符有一个或多个发生了状态改变; select 函数原型 C #include <sys/…