高考技术——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.mzph.cn/bicheng/56126.shtml

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

相关文章

Milvus向量数据库管理工具[Attu]实践

Attu是一款专为Milvus向量数据库打造的开源数据库管理工具,提供了便捷的图形化界面,极大地简化了对Milvus数据库的操作与管理流程。阿里云Milvus集成了Attu,以便更加高效地管理数据库、集合(Collection)、索引&#xf…

第四次论文问题知识点及问题

1、NP-hard问题 NP-hard,指所有NP问题都能在多项式时间复杂度内归约到的问题。 2、启发式算法 ‌‌启发式算法(heuristic algorithm)是相对于最优化算法提出的。它是一种基于直观或经验构造的算法,旨在以可接受的花费给出待解决…

树莓派3b安装ubuntu18.04服务器系统server配置网线连接

下载ubuntu镜像网址 img镜像,即树莓派官方烧录器使用的镜像网址 ubuntu18.04-server:ARM/RaspberryPi - Ubuntu Wiki 其他版本:Index of /ubuntu/releases 下载后解压即可。 发现使用官方烧录器烧录配置时配置wifi无论如何都不能使用&am…

GO网络编程(三):海量用户通信系统1:登录功能初步

一、准备工作 需求分析 1)用户注册 2)用户登录 3)显示在线用户列表 4)群聊(广播) 5)点对点聊天 6)离线留言 主界面 首先,在项目根目录下初始化mod,然后按照如下结构设计目录: 海量用户通信系统/ ├── go.mod ├── client/ │ ├──…

【C++】基于红黑树封装set和map

🚀个人主页:小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言一、更高维度的泛型二、模版参数三、比较逻辑的重写四、迭代器4.1 const迭代器4.2 重载4.3 - -重载 五、完整代…

阿里P8面试官推荐学习的11大专题:java面试精讲框架文档

本篇文章给大家分享一波,阿里P8面试官推荐学习的11大专题:java面试精讲框架文档,主要包含11大块的内容:spring、springcloud、netty、zookeeper、kafka、Hadoop、HBASE、Cassandra、elasticsearch、spark、flink;希望大…

【C++入门篇 - 3】:从C到C++第二篇

文章目录 从C到C第二篇new和delete命名空间命名空间的访问 cin和coutstring的基本使用 从C到C第二篇 new和delete 在C中用来向系统申请堆区的内存空间 New的作用相当于C语言中的malloc Delete的作用相当于C语言中的free 注意:在C语言中,如果内存不够…

stm32定时器中断和外部中断

一,中断系统的介绍 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行 中…

Github 优质项目推荐(第七期):涵盖免费服务、API、低代码、安卓root、深度学习

文章目录 Github优质项目推荐 - 第七期一、【LangGPT】,5.7k stars - 让每个人都成为提示专家二、【awesome-selfhosted】,198k stars - 免费软件网络服务和 Web 应用程序列表三、【public-apis】,315k stars - 免费 API四、【JeecgBoot】&am…

No.3 笔记 | Web安全基础:Web1.0 - 3.0 发展史

大家好!作为一个喜欢探索本质的INTP,我整理了一份简明易懂的Web安全笔记。希望能帮助你轻松掌握这个领域的核心知识。 这份笔记涵盖了Web发展的历程,从静态的Web 1.0到智能化的Web 3.0。我们将探讨URL和HTTP协议,揭示它们在网络中…

新书速览|你好,C++

《你好,C》 本书内容 《你好,C》主要介绍C开发环境的搭建、基础语法知识、面向对象编程思想以及标准模板库的应用,特别针对初学者在学习C过程中可能遇到的难点提供了解决方案。全书共分13章,以一个工资程序的不断优化和完善为线索…

Windows 下 cocos2d-x-3.17.2 VS2017开发环境搭建

1.下载cocos2d-x-3.17.2 源码: Cocos2d-x - 成熟、轻量、开放的跨平台解决方案 2.下载Python2 Python 2.7.0 Release | Python.org 加入环境变量: 测试版本

构建高效作业管理平台:Spring Boot师生协作评审系统

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

Zigbee2MQTT多控网关开发专题:【第一篇】系统配置与初始化

01 前言 本文章原文发表于我的微信公众号,请大家关注阅读,涉及的源代码等都在公众号,请搜索公众号: 智能家居NodeRed和HomeAssistant 即可关注。 02 概述 基于NodeRed的Zigbee2MQTT多功能多控网关开发专题正式开贴,…

Linux shellcheck工具

安装工具 通过linux yum源下载,可能因为yum源的问题找不到软件包,或者下载的软件包版本太旧。 ShellCheck的源代码托管在GitHub上(推荐下载方式): GitHub - koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts 对下…

VSCode搭建C/C++开发环境【Windows】

VSCode搭建C/C开发环境 1. 配置C/C开发环境1.1 下载和配置MinGW-w64编译器套件1.2 安装C/C插件 2. 在VSCode上编写C语言代码,并编译执行2.1 先打开一个文件夹,写一份C语言代码2.2 设置C/C编译的选项:c_cpp_properties.json2.3 创建执行任务&a…

Unity MVC框架1-2 实战分析

该课程资源来源于唐老狮,吃水不忘打井人,不胜感激 Unity MVC框架演示 1-1 理论分析-CSDN博客 首先你需要知道什么mvc框架,并且对三个层级有个比较清晰的认识,当然不清楚也好,下面例子中将会十分细心地让你理解&#x…

光控资本:牛市一般维持多长时间?牛市的轮涨顺序是什么?

牛市继续多长时间没有一个统一标准,我们是无法判断牛市什么时候到来,什么时候结束的。以A股牛市前史为例,继续时间从几十天到几年的情况都有,是没有规则可循的,现在A股继续最久的一次牛市是862天。 纵观A股前史&#…

【路径规划】创建末端执行器的路径,导入URDF模型,使用逆向运动学进行路径规划

摘要 本文通过路径规划为机器人末端执行器生成运动路径,采用URDF(Unified Robot Description Format)导入机器人模型,并结合逆向运动学进行路径规划和控制。使用Matlab进行建模和仿真,以确保执行器沿预定路径顺利运动…

API调用comfyui工作流,做一个自己的app,chatgpt给我写的前端,一键创建自己的卡通形象,附源码

前言 工具介绍 首先 comfyui你是少不了的,这个是工作流的后端支持,用这个去调试工作流和生成API可调用文件 前端我们就用很流行的gradio吧,什么你一时半会没有学gradio的计划,没事,笔者也没系统学过,我干…