当前位置: 首页 > news >正文

Pandas 模块数据处理全解析

数据处理是数据分析的基础,而 Pandas 作为 Python 中强大的数据处理库,掌握它的使用方法能让我们的数据分析工作事半功倍。今天我们主要从数据抽取、增删改查以及排序排名这几个核心维度展开讲解。

一、数据抽取:精准获取所需数据

数据抽取是我们处理数据的第一步,就像在海量信息中精准定位到我们需要的内容。Pandas 为我们提供了两种非常实用的属性:loc 和 iloc。

loc 属性以列名和行名作为参数,当只有一个参数时,默认是行名,能帮我们抽取整行数据。比如 df.loc ['A'],就是抽取行名为 'A' 的整行数据。

iloc 属性则以行和列的位置索引(也就是 0,1,2……)作为参数,0 表示第一行,1 表示第二行,以此类推。同样,当只有一个参数时,默认是行索引,比如 df.iloc [0],就是抽取第一行的整行数据。

具体来说,数据抽取可以分为几种情况:

  1. 抽取指定行数据:既可以用 loc 属性根据行名抽取,也可以用 iloc 属性根据行索引抽取。比如我们要抽取一行名为 “甲” 的学生成绩数据,就可以利用 loc 属性来实现。
  2. 抽取多行数据:通过 loc 和 iloc 属性,结合列表或切片的方式,我们可以抽取任意多行或连续多行数据。比如抽取行名为 “甲” 和 “丙” 的数据,用列表传入行名即可;要抽取连续多行,合理使用冒号就能实现。
  3. 抽取指定列数据:可以直接使用列名,也可以用 loc 和 iloc 属性。需要注意的是,使用这两个属性时,行参数不能省略。比如要抽取 “语文” 和 “数学” 成绩,就可以指定相应的列名。
  4. 抽取指定的行、列数据:同样借助 loc 和 iloc 属性,同时指定行和列的信息,就能精准获取我们需要的特定行和列的数据。

二、数据的增、删、改、查:打造干净可用的数据集

(一)增加数据

增加数据主要有按列和按行两种方式。

按列增加数据时,我们可以直接为 DataFrame 对象赋值,也可以使用 loc 属性在最后增加一列,还能通过 insert () 方法在指定位置插入一列。比如我们要增加一列 “物理” 成绩,就可以用这些方法来实现。

按行增加数据则可以使用 loc 属性增加一行数据,或者用 append () 方法增加多行数据。比如在成绩表中增加 “戊” 同学的成绩,或者同时增加 “戊”“己”“庚” 三名同学的成绩。

(二)删除数据

删除数据我们主要使用 drop () 方法,它的参数很丰富,能满足不同的删除需求。

  1. labels 表示行标签或列标签;
  2. axis=0 表示按行删除,axis=1 表示按列删除;
  3. index 用于删除行,columns 用于删除列;
  4. inplace 如果为 True,就会直接修改原数组;
  5. errors 设为 ignore 可以忽略错误。

比如我们要删除 “数学” 这一列,就可以用 df.drop ([' 数学 '],axis=1,inplace=True);要删除 “甲”“乙” 这两行,就可以用 df.drop ([' 甲 ',' 乙 '],inplace=True)。我们还能删除符合特定条件的行,比如删除 “数学” 中包含 88 的行,或者 “语文” 小于 110 的行。

(三)修改数据

修改数据包括修改列标题、行标题和具体数据。

修改列标题可以用 columns 属性,也可以用 rename () 方法。比如把 “数学” 修改为 “数学(上)”,或者同时修改多个学科的列名。

修改行标题可以用 index 属性,也能用 rename () 方法。比如将行标题统一修改为数字编号。

修改具体数据则可以用 loc 和 iloc 属性。既可以修改整行数据、整列数据,也能修改某一个具体的数据。比如修改 “甲” 同学的各科成绩,或者给 “甲” 同学的各科成绩均加 10 分,还能修改 “甲” 同学的 “语文” 成绩等。

(四)查询数据

查询数据需要用到逻辑运算符、复合逻辑运算符以及相关的逻辑运算方法。

逻辑运算符有 >、>=、<、<=、==、!=;复合逻辑运算符有 &(并且)、|(或者);逻辑运算方法包括 query () 方法、isin () 方法、between () 方法。

比如我们可以用逻辑运算符查询满足条件的学生成绩;用复合运算符查询 “语文” 大于 105 并且 “数学” 大于 88 的学生成绩,或者 “语文” 大于 105 或者数学大于 88 的学生成绩;用 query () 方法可以简化查询代码,像 df.query (' 语文 > 105') 就能查询出语文大于 105 的学生成绩;isin () 方法可以查询包含某些特定值的数据;between () 方法则能查询在某个范围内的数据,比如查询 “语文” 在 100 分至 120 分之间的数据。

三、数据的排序和排名:让数据更有规律

(一)数据的排序

数据排序我们使用 sort_values () 方法,它的参数很多,by 是要排序的名称列表,axis=0 按行排序,axis=1 按列排序,ascending=True 表示升序,False 表示降序等。

我们可以按一列数据排序,比如按 “销量” 降序排序;也可以按多列数据排序,比如先按 “图书名称” 降序排序,再按 “销量” 降序排序;还能对分组统计的数据进行排序,以及按行数据排序,不过按行排序时数据类型要一致,否则会出错。

(二)数据排名

数据排名主要用 rank () 方法,它的参数也不少,axis 默认按行排序,method 用于设置相同值的排序方法,有 average、min、max、first、dense 等。

  1. average 是默认值,为平均排名;
  2. min 是最小值排名,即相同值按顺序排名取最小值作为排名;
  3. max 是最大值排名,相同值按顺序排名取最大值作为排名;
  4. first 是按值在原始数据中出现的顺序分配排名;
  5. dense 是密集排名,排名相同的数据只占一个名次。

比如我们可以对产品销量按顺序进行排名,或者进行平均排名、最小值排名、最大值排名等。

http://www.lryc.cn/news/586499.html

相关文章:

  • Wwise音频在Unity中内存泄露问题
  • 如何检测自动化设备中的直线导轨品质是否优良?
  • 【从零开始编写数据库:基于Python语言实现数据库ToyDB的ACID特性】
  • 2025Stockapi股票数据接口,股票实时数据,技术指标macd,kdj,cci技术指标算法,集合竞价数据,龙虎榜数据接口
  • 全连接网络 和卷积神经网络
  • 《PyQtGraph例子库:Python数据可视化的宝藏地图》
  • 技术面试问题总结二
  • Python 实战:构建可扩展的命令行插件引擎
  • 希尔排序和选择排序及计数排序的简单介绍
  • C++法则21:避免将#include放在命名空间内部。
  • 20250712-2-Kubernetes 应用程序生命周期管理-部署应用的流程_笔记
  • Java ThreadLocal详解:从原理到实践
  • Arduino 无线通信实战:使用 RadioHead实现 315MHz 433M模块数据传输
  • AV1比特流结构
  • Paimon Lookup 哈希文件和Sort文件选择
  • Claude code在Windows上的配置流程
  • 内存dmp文件太大导致计算机登录异常
  • 「日拱一码」025 机器学习——评价指标
  • 基于SEP3203微处理器的嵌入式最小硬件系统设计
  • 19th Day| 530.二叉搜索树的最小绝对差,501.二叉搜索树中的众数, 236.二叉树的最近公共祖先
  • 电子基石:硬件工程师的器件手册 (五) - 三极管:电流放大的基石与开关的利刃
  • 敏捷开发方法全景解析
  • ABSD(基于架构的软件开发)深度解析:架构驱动的工程范式
  • day051-ansible循环、判断与jinja2模板
  • java进阶(一)+学习笔记
  • (一)一阶数字低通滤波器---原理及其推导
  • 前后端分离项目的完整部署(Jenkins自动化部署)
  • 什么是数据库同步软件?为什么要关注数据库同步技术?
  • 阻有形,容无声——STA 签核之RC Corner
  • 【MaterialDesign】谷歌Material(Google Material Icons) 图标英文 对照一览表