Pandas中loc和iloc函数(提取某几列或者行的数据)

news2025/1/18 8:53:26

loc函数:通过行索引(列名、行名) 中的具体值来取行数据(如取"Index"为"A"的行

iloc函数:通过行号(数字)来取行数据(如取第二行的数据

需要知道:

data['A'] 是选取data表中的列名为A的所有数据,这个只对列有效,对行没有用,因为列有列名,而行没有行名

例如此时,data['a'] 就是错的

一、iloc

data.iloc[ A:B ,C:D ]

用法:逗号前面表示的是取哪些行,逗号后面表示取哪些列

例如1:data.iloc[ 0:2 ,1:2 ]  # 取第0-2行和1-2列交叉的所有的数据

例如2:data.iloc[ : ,1:2 ]  # 取所有行和1-2列交叉的所有的数据

例如3:data.iloc[ : , : ]  # 取所有行和所有列的所有的数据

例如4:data.iloc[ : , [1,2,3] ]  # 取所有行和第1,2,3列交叉的所有的数据

 二、loc

想要得到某行的所有值,只需要data.loc['该行的第一个元素']],这里是一个[]

想要得到某列的所有值,通过data.loc[: , ['该列的第一个元素']]

例如1:data.loc[ : ,'A' ]  # 取列名为A的该列的所有数据

例如2:data.iloc[ 'a':'c' ,'A' ]  # 取行号为a、c的列为A的所有数据


 

data.loc[data['A']==0]  # A列中数字为0所在的行数据


1. 利用loc、iloc提取某一行数据

import numpy as np
import pandas as pd
#创建一个Dataframe
data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))
 
In[1]: data
Out[1]: 
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
 
#取索引为'a'的行
In[2]: data.loc['a']
Out[2]:
A    0
B    1
C    2
D    3
 
#取第一行数据,索引为'a'的行就是第一行,所以结果相同
In[3]: data.iloc[0]
Out[3]:
A    0
B    1
C    2
D    3

2. 利用loc、iloc提取某一列或者几列数据

In[4]:data.loc[:,['A']] #取'A'列所有行,多取几列格式为 data.loc[:,['A','B']]
Out[4]: 
    A
a   0
b   4
c   8
d  12
 
In[5]:data.iloc[:,[0]] #取第0列所有行,多取几列格式为 data.iloc[:,[0,1]],取第0列和第1列的所有行
Out[5]: 
    A
a   0
b   4
c   8
d  12

4.利用loc、iloc提取所有数据

In[8]:data.loc[:,:] #取A,B,C,D列的所有行
Out[8]: 
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15
 
In[9]:data.iloc[:,:] #取第0,1,2,3列的所有行
Out[9]: 
    A   B   C   D
a   0   1   2   3
b   4   5   6   7
c   8   9  10  11
d  12  13  14  15

5.利用loc函数,根据某个数据来提取数据所在的行

In[10]: data.loc[data['A']==0] #提取data数据(筛选条件: A列中数字为0所在的行数据)
Out[10]: 
   A  B  C  D
a  0  1  2  3
 
In[11]: data.loc[(data['A']==0)&(data['B']==2)] #提取data数据(多个筛选条件)
Out[11]: 
   A  B  C  D
a  0  1  2  3

利用loc函数的时候,当index相同时,会将相同的Index全部提取出来,

优点是:如果index是人名,数据框为所有人的数据,那么我可以将某个人的多条数据提取出来分析;

缺点是:如果index不具有特定意义,而且重复,那么提取的数据需要进一步处理,可用.reset_index()函数重置index

这里给一个实际场景:

Excel中的某一部分如下所示:

此时我们想取到Excel表格的第2列到倒数第二列所有的数据,那么我使用以下代码:

o_train = pd.read_csv('./dataset/train.csv')
o_test = pd.read_csv('./dataset/test.csv')
 
print(o_train.shape) #(1314, 81)
print(o_test.shape)  #(146, 81)
 
### 'MSSubClass':'SaleCondition'是第二列到倒数第二列
all_features = pd.concat((o_train.loc[:, 'MSSubClass':'SaleCondition'], o_test.loc[:, 'MSSubClass':'SaleCondition'])) # [1460 rows x 79 columns]
 
all_labels   = pd.concat((o_train.loc[:, 'SalePrice'], o_test.loc[:, 'SalePrice'])) # Length: 1460,

 得到如下结果:

参考下文:Pandas中loc和iloc函数用法详解(源码+实例)_我是二师兄的博客-CSDN博客_iloc函数用法

【python】pandas中 loc & iloc用法及区别 - 知乎

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

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

相关文章

JAVA刷题之字符串的一些个人思路

感谢您的阅读! ꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯…

【Spring总结】基于配置的方式来写Spring

本篇文章是对这两天所学的内容做一个总结,涵盖我这两天写的所有笔记: 【Spring】 Spring中的IoC(控制反转)【Spring】Spring中的DI(依赖注入)Dependence Import【Spring】bean的基础配置【Spring】bean的实…

计算机msvcr120.dll丢失的解决方法,分享多种亲测可靠的方法

在使用计算机的过程中,我们有时可能会遇到一些技术问题,其中之一就是提示丢失msvcr120.dll文件。当计算机提示丢失msvcr120.dll文件时,可能是由于某些程序无法找到这个文件,从而导致程序无法正常运行。那么我们需要如何解决修复好…

一文读懂:testcafe框架和页面元素交互

一、互动要求 使用 TestCafe 与元素进行交互操作,元素需满足以下条件:☟ 元素在 body 页面窗口或 iframe 窗口的元素内。如果某个元素在视口之外,则 TestCafe 通过滚动可以滚动到元素可见。 元素是可见的,具有以下属性&#…

Leetcode—剑指OfferII LCR 022.环形链表II【中等】

2023每日刷题(三十三) Leetcode—LCR 022.环形链表II 算法思想 参考k神的博客 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ struct ListNode *detectCycle(struct List…

2.3 调用智谱 API

调用智谱 API 1 申请调用权限2 调用智谱 AI API3 使用 LangChain 调用智谱 AI参考: 智谱 AI 是由清华大学计算机系技术成果转化而来的公司,致力于打造新一代认知智能通用模型。公司合作研发了双语千亿级超大规模预训练模型 GLM-130B,并构建了…

Python------列表 集合 字典 推导式(本文以 集合为主)

推导式: 推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列 构建 另一个 新的数据序列(一个有规律的列表或控制一个有规律列表)的结构体。 共有三种推导&#xff…

HUAWEI华为笔记本MateBook X 2021款i5集显(EULD-WFH9,WXX9)原装出厂Windows11系统工厂模式包

下载链接:https://pan.baidu.com/s/1gQ_O203SSm83Nc-zDk1iNA?pwd4exz 提取码:4exz 系统带F10一键智能还原功能隐藏恢复分区、所有驱动、Office办公软件、华为电脑管家等预装程序 所需要工具:32G或以上的U盘 文件格式:zip …

TensorRt推理加速框架Python API服务器部署教程以及运行Helloworld程序

一、确认cuda工具包和n卡相关驱动是否安装 在终端中输入以下命令: nvcc -V如果出现以下提示,则已经成功安装 在终端中输入以下命令: nvidia-smi如果出现即为成功,我在这里就不去介绍怎么下载cuda和驱动怎么下载了,…

【Linux系统化学习】进程的父子关系 | fork 进程

个人主页点击直达:小白不是程序媛 Linux专栏:Linux系统化学习 目录 前言: 父子进程 父子进程的引入 查看父子进程 查询进程的动态目录 更改进程的工作目录 fork创建进程 fork的引入 fork的使用 fork的原理 fork如何实现的&#…

2023-2024华为ICT大赛-计算赛道-广东省省赛初赛-高职组-部分赛题分析【2023.11.18】

2023-2024华为ICT大赛 计算赛道 广东省 省赛 初赛 高职组 部分赛题 分析【2023.11.18】 文章目录 单选题tpcds模式中存在表customer,不能成功删除tpcds模式是( )以下哪个函数将圆转换成矩形( )下列哪个选项表示依赖该D…

一键云端,AList 整合多网盘,轻松管理文件多元共享!

hello,我是小索奇,本篇教大家如何使用AList实现网盘挂载 可能还是有小伙伴不懂,所以简单介绍一下哈 AList 是一款强大的文件管理工具,为用户提供了将多种云存储服务和文件共享协议集成在一个平台上的便利性。它的独特之处在于&am…

cesium雷达效果(脉冲圆)

cesium雷达效果(脉冲圆) 下面富有源码 实现思路 使用ellipse方法加载圆型,修改ellipse中‘material’方法重写glsl来实现当前效果 示例代码 index.html <!DOCTYPE html> <html lang="en"><head>

Typora——优雅的排版也是一种品味

电脑中用于编辑文本的软件&#xff0c;一直以来可谓是层出不穷&#xff0c;大家脑海中一定会浮现出很多名字&#xff1a;word&#xff0c;OneNote&#xff0c;记事本&#xff0c;wps&#xff0c;LaTeX&#xff0c;还有各种小众的office工具&#xff0c;等等等等。今天学长将介绍…

java回调函数

在java中是存在回调函数的&#xff0c;我们可以把回调函数理解为一个被作为参数传递的函数。 类似于&#xff0c;我可以设置一个功能给系统&#xff0c;但是只有特定时候才会触发&#xff0c;触发的时候就会把函数作为参数的形式传递到另外的函数中。一般都是使用系统中写好的…

科研学习|科研软件——面板数据、截面数据、时间序列数据的区别是什么?

一、数据采集方式不同 面板数据是通过在多个时间点上对同一组体进行观测而获得的数据。面板数据可以是横向面板数据&#xff0c;即对同一时间点上不同个体的观测&#xff0c;也可以是纵向面板数据&#xff0c;即对同一个体在不同时间点上的观测。采集面板数据需要跟踪相同的个体…

文章分类列表进行查询(实体类日期格式设置)

categoryController GetMappingpublic Result<List<Category>> list(){List<Category> cs categoryService.list();return Result.success(cs);} categoryService //列表查询List<Category> list(); categoryServiceImpl Overridepublic List<Cat…

深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 DeepSORT车辆跟踪3.1 Deep SORT多目标跟踪算法3.2 算法流程 4 YOLOV5算法4.1 网络架构图4.2 输入端4.3 基准网络4.4 Neck网络4.5 Head输出层 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; *…

kafka入门(一):kafka消息消费

安装kafka&#xff0c;创建 topic&#xff1a; Windows安装kafka, 详情见&#xff1a;https://blog.csdn.net/sinat_32502451/article/details/133067851 Linux 安装kafka&#xff0c;详情见&#xff1a;https://blog.csdn.net/sinat_32502451/article/details/133080353 添…

python的文件目录操作 1

我们在实际开发中&#xff0c;经常需要对文件进行读取、遍历、修改等操作&#xff0c;通过 python 的标准内置os模块&#xff0c;能够以简洁高效的方式完成这些操作。常见的操作整理如下&#xff1a; 文件夹操作&#xff1a;包括文件夹的创建、修改&#xff08;改名/移动&…