高考技术——pandas使用

news/2024/12/22 0:03:04/

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

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

python">import pandas as pd

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

一.Series 

1.声明

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

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

 2.遍历方式

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

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

3.值的获取,修改 

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

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

二.DataFrame 

1.声明

python">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 

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

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

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

这是excel内的表格

这是pandas的输出 

3.遍历

python">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为一行,输出形式为列表

输出效果如图 

python">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.ppmy.cn/news/1535011.html

相关文章

从零开始Hadoop集群环境搭建

目录 1. Centos7.5硬件配置1.1 创建虚拟机1.2 虚拟机系统设置 2. IP地址和主机名称配置3. 软件配置3.1 安装 epel-release3.2 卸载虚拟机自带的JDK3.3 克隆虚拟机3.4 修改克隆虚拟机的IP3.5 JDK安装3.6 Hadoop安装 4. Hadoop目录结构 1. Centos7.5硬件配置 1.1 创建虚拟机 1.2…

C++(Qt)软件调试---内存调试器Dr.Memory(21)

C(Qt)软件调试—内存调试器Dr. Memory(21) 文章目录 C(Qt)软件调试---内存调试器Dr. Memory(21)[toc]1、概述🐜2、安装Dr.Memory🪲3、命令行使用Dr.Memory🦗4、Qt Creator集成使用Dr.Memory&…

模拟实战数据落地:MSsql通过存储过程获得销售数据视图

话不多说 目标需求:通过传递参数(查询条件及查询时间)调用存储过程获得销售数据视图,并且在视图中有时间字段供后续引用,实现数据对接获取任务 最终结果如图: 实现以上结果步骤如下: 1)建立users表和orders表分别代表用户及订单,其中订单中用户id与用户表中用户id关联,并随机…

使用 HTMX 从服务器获取文本更新 Quill Editor 的内容

使用 HTMX 可以用很简单的代码&#xff0c;通过 AJAX 的访问&#xff0c;向 WEB SERVER 请求数据。 如果请求来的数据直接用来更新一个 <div></div> 的内容&#xff0c;无需写代码&#xff0c;很简单就能搞定。代码如下&#xff1a; <button hx-get"GetC…

论Microsoft Visual Studio C++有多油饼

#1 Microsoft Visual Studio C 2023&#xff1a; 必须安装在C盘 为啥&#xff1f; 安其他盘能亖啊&#xff1f; 真有病 #2 Microsoft Visual Studio C 2013&#xff1a; 每个硬盘必须都腾出至少8个G的空间 不是我安在这个盘不就是为了其他盘没空间吗&#xff1f; 合着…

SOMEIP_ETS_166: SD_TestFieldUINT8

测试目的&#xff1a; 验证DUT能够通过Getter和Setter方法正确地发送和接收TestFieldUINT8字段的值。 描述 本测试用例旨在确保DUT的ETS能够响应Tester的请求&#xff0c;正确地使用Getter方法获取TestFieldUINT8的值&#xff0c;以及使用Setter方法设置新的值。 测试拓扑&…

前端Vue项目的自动打包、上传与部署

文章目录 前言思路与流程脚本实现1. 打包前端项目2. 上传前端项目4. 传递密码5. 代码优化完整脚本结语前言 在实际项目开发中,并不是所有项目都会配置 CI/CD 流程,特别是在中小型团队或者公司内部测试环境中,很多时候我们仍然需要手动打包、上传和部署项目。这个过程虽然简…

【HarmonyOS NEXT】实现防截屏功能

【需求】 登录不允许截屏验证码页不允许截屏首页允许截屏 【API】 方式一&#xff1a; 当app只有一个窗口时&#xff0c;可以使用getLastWindow window.getLastWindow(context).then((lastWindow)>{ lastWindow.setWindowPrivacyMode(flag) })方式二&#xff1a; 当app…