Python——Pandas库,超详细教程

Python——Pandas库,超详细教程

前言

1、Python的Pandas是一个基于Python构建的开源数据分析库,它提供了强大的数据结构和运算功能。

2、

  • Series:一维数组,类似于Numpy中的一维array,但具有索引标签,可以保存不同类型的数据,如字符串、布尔值、数字等。
  • DataFrame:二维表格型数据结构,与SQL表或Excel工作表类似,每列可以是不同的数据类型(如数值、字符串或日期),并且具有列名和行索引。DataFrame是Pandas的核心数据结构,提供了丰富的数据操作方法。

接下来我们将逐步介绍他的用法

一、导入Pandas库

        简写为pd

import pandas as pd

二、使用Series,创建一维数组

从0开始存储

三、index查看下标,values查看下标的值

注意:不知道标签和下标的区别请看目录五的解释

1、index的输出类似于range:

        start代表起始标签;stop代表结束标签(不会到这个值,到n-1值);step代表步长。

2、valuses:

        直接查看下标的值,记得是重0开始的值

四、使用index指定标签

注意:可以看到数组中1的标签不是默认值0了,而是标签5,如果利用想输出下标0,这时候会报错,我们要使用到 “iloc“ and ” loc“,请看五

五、iloc and loc的使用

解释:

1、iloc是原下标,也就是默认值,计算机的记忆

2、loc是修改过的下标,我们把他叫作标签,标签是由我们自主给的,计算机并不会自己产生

可以看到计算机的下标1的值是2

可以看到我们给的标签1的值是5

六、创建对象

1、这里的我们所理解的键其实就是数据的标签,大部分的人可能会理解为这里是一个字典或者一个数组,其实都不是,是一个一维数据

2、什么是键?如果不知道,就需要回头学习python基础了。

        键是字典的一个解释,前键后值,称为键值对,如下的:“键”:值

3、修改数据

使用loc,找标签“小张”让他的值等于95,可以看到被修改了

4、筛选数据

这里的&就是python,and的意思

七、两个数据相加、相减、相乘、相除

1、相加——add

可以看到需要链接s1,如果没有s1,那会导致数据相加错误,出现NaN;

这个时候,我们应该使用add:

        在s1的基础上add(s2,fill_value = “如果出现没有值的情况,以0代替”)

2、相减——sub

3、相乘——mul

4、相除——div

八、求最大值、最小值、求和值、平均值

九、describe() —— 数据分析方法

十、apply() —— 定义函数判断数据

apply()对数据批量处理

十一、DataFrame —— 创建二维数组

十二、修改标签

标签名要统一,否则会报错;但是可以缺少,但数据也要缺少,一一对应

特别:标签会自动排序好

十二、查看标签(行属性)

十三、查看列属性

十四、查看数据

十五、数据颠倒——行列调换

十六、提取数据(列)

1、查看班级数据

2、查看成绩数据

3、查看学号和成绩,这里我们需要再加一个【】,如果不加会报错

十七、提取数据(行)

注意:loc和iloc的区别

十八、切片操作

1、标签切片

2、下标切片

        注意:3是终止,并不会执行,如果想小红到小丽,需要 [1:4]

3、行列切片——标签

4、行列切片——下标

十九、筛选——判断、提取数据

1、单单判断数据,输出布尔值

2、判断完数据并提取数据,输出数据

二十、查看前几行数据——数据量庞大可使用

        注意:如果head()不输入任何的值,那他的默认值为5,输出前5行数据

二十一、drop搭配axis用法

我们先导入要使用的数据

        添加考试4的数据

drop:就是删除的意思

axis:用来指定是行还是列

可以看到删除了行的002和004

可以看到删除了列的考试2和考试4

二十二、两个数据相加

1、student的数据请看目录二十一

2、先定于一个数据bonus,让他们两个相加

3、注意:运行一次相加一次;标签要一一对应,否则会导致数据错误。

相加完之后不会改变原数据,如果需要改变原数据,全部都是要重新赋值

实现重新赋值,以考试4位例

二十三、案例实操——求出平均值

mean(axis=1):求平均值每一行。

这里可能会导致理解冲突,上面解释axis=0代表行,axis=1代表列,但是mean(axis=1)为什么代表的是行???请看下面的解释

可以理解为如果被包含,则方向相反。

        行对列操作

        列对行操作

二十四、案例实操——筛选出第二大的数据

1、loc[:,"考试1":"考试3"] 其实就是 loc["001":"006","考试1":"考试3"]

2、lambda x:定义匿名函数x

3、np.sort(x):使用numpy库的sort方法,进行升序

4、np.sort(x)[-2]:升序完后提取倒数第二个值,也就是第二大的值,然后返回匿名函数x

Read more

2026 前端 / 后端 / 算法岗 AI 技能清单,直接对标大厂

2026 前端 / 后端 / 算法岗 AI 技能清单,直接对标大厂

2026 大厂前端岗 AI 技能清单 核心基础技能 * 大模型前端适配能力:掌握大模型上下文管理,实现对话历史的高效存储与加载,适配流式输出的前端渲染逻辑。 * AI 组件开发:熟练开发基于大模型的智能组件,如代码补全、智能问答、内容生成类组件,支持参数化配置与多模型切换。 * 向量数据库集成:掌握 Pinecone、Weaviate 等向量数据库的前端调用方法,实现语义搜索、相似内容推荐等功能。 进阶实践技能 * 大模型微调适配:理解大模型微调原理,能够基于前端业务场景,将微调后的模型部署至前端环境,实现模型轻量化调用。 * 多模态交互开发:支持文本、图像、音频等多模态输入的前端处理,对接多模态大模型 API 实现智能交互。 * AI 性能优化:实现大模型请求的批量处理、缓存复用与增量更新,降低前端请求延迟与资源消耗。 实战代码示例 以下为基于 OpenAI API 实现的流式对话前端组件,使用 React 18 开发:

By Ne0inhk
【数据结构-初阶】详解线性表(3)---双链表

【数据结构-初阶】详解线性表(3)---双链表

🎈主页传送门:良木生香 🔥个人专栏:《C语言》 《数据结构-初阶》 《程序设计》 🌟人为善,福随未至,祸已远行;人为恶,祸虽未至,福已远离 目录 1、双链表的概念 2、双链表的基本实现 2.1、双向链表节点的创建 2.2、双向链表的初始化 2.3、双向链表长度的计算 2.4、双向链表的插入操作: 2.4.1、头部插入: 2.4.2、尾部插入: 2.4.3、查找pos位置的元素: 2.4.4、pos位置插入: 2.4.4.1、pos位置之前插入:

By Ne0inhk
基于阿基米德算法的AOA - LSSVM回归预测:提升LSSVM准确率新思路

基于阿基米德算法的AOA - LSSVM回归预测:提升LSSVM准确率新思路

基于阿基米德算法的LSSVM回归预测AOA-LSSVM 其他优化算法可私信定制 为了提高最小二乘支持向量机(lssvm)的回归预测准确率,对lssvm中的惩罚参数和核惩罚参数利用麻雀搜索算法进行优化。 Matlab 代码 在机器学习的领域中,最小二乘支持向量机(LSSVM)一直是回归预测的有力工具。然而,为了进一步挖掘其潜力,提升回归预测的准确率,对LSSVM中的惩罚参数和核惩罚参数的优化就显得尤为重要。今天咱们就来聊聊基于阿基米德算法的AOA - LSSVM,并且看看怎么用麻雀搜索算法来优化相关参数。 为什么要优化LSSVM参数 LSSVM的性能很大程度上依赖于惩罚参数(通常用$C$表示)和核惩罚参数(比如高斯核函数中的$\sigma$ )。不合适的参数会导致模型要么过拟合(对训练数据拟合得太好,对新数据泛化能力差),要么欠拟合(无法很好捕捉数据中的规律)。所以,找到一组最优的参数至关重要。 麻雀搜索算法优化LSSVM参数 麻雀搜索算法是一种受麻雀觅食行为启发的智能优化算法。它模拟了麻雀在觅食过程中的发现者 - 追随者机制以及警戒机制。通过这种方式,在参数空间中搜索能使

By Ne0inhk
【优选算法必刷100题】第39-40题(模拟):替换所有问号,提莫攻击

【优选算法必刷100题】第39-40题(模拟):替换所有问号,提莫攻击

🔥个人主页:Cx330🌸 ❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C++知识分享》 《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔 《Git深度解析》:版本管理实战全解 🌟心向往之行必能至 🎥Cx330🌸的简介: 目录 前言: 39.替换所有问号 算法原理(模拟): 思路: 模拟解法代码(C++): 博主手记(字体还请见谅哈): 40.提莫攻击 解法(模拟+分情况讨论): 算法思路: C++算法代码: 博主手记(字体还请见谅哈): 总结: 前言: 聚焦算法题实战,系统讲解三大核心板块:“精准定位最优解”——优选算法,“简化逻辑表达,系统性探索与剪枝优化”——递归与回溯,“以局部最优换全局高效”——贪心算法,讲解思路与代码实现,帮助大家快速提升代码能力

By Ne0inhk