DataFrame.iloc()与DataFrame.loc的区别

2023-12-28 12:32
文章标签 区别 dataframe iloc loc

本文主要是介绍DataFrame.iloc()与DataFrame.loc的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

示例数据df1:A         B         C         D         E
0  0.299199  0.076892  1.378794 -1.607846 -0.763427
1 -0.061252  1.336151 -1.788529 -0.370140 -1.486368
2  0.665735 -0.233112 -0.485747 -1.321832 -0.083957
3 -0.319322 -0.756146 -0.997257  0.556998 -0.292198示例数据df2:A         B         C         D         E
a  0.299199  0.076892  1.378794 -1.607846 -0.763427
b -0.061252  1.336151 -1.788529 -0.370140 -1.486368
c  0.665735 -0.233112 -0.485747 -1.321832 -0.083957
d -0.319322 -0.756146 -0.997257  0.556998 -0.292198示例数据df3:A         B           C         D         E         F
0  0.299199  0.076892    1.378794 -1.607846 -0.763427  
1 -0.061252  1.336151   -1.788529 -0.370140 -1.486368  
2  0.665735 -0.233112  130.000000 -1.321832 -0.083957  
3 -0.319322 -0.756146   -0.997257  0.556998 -0.292198
备注: df1与df2唯一的区别在于它们的行索引不同iloc与loc的共同点
1. 均可以用来访问DataFrae对象的行数据.eg:访问第3行第3列的元素# way-1. 使用iloc:   访问df1 : df1.iloc[2]['C']   or  df1.iloc[2,2]访问df2 : df1.iloc[2]['C']   or  df1.iloc[2,2]# way-2. 使用loc:访问df1 : df1.loc[2, 'C']访问df2 : df2.loc['c', 'C']iloc与loc的不同点
1. 使用iloc时,行索引始终是df对象行的序数(eg:0,1,2,...,n-1),列索引可以是df对应列的列名,也可以是列的序数(eg:0,1,2,...,n-1); 使用loc时,行列索引必须与df保持一致;因此,如果仅仅是访问数据,iloc更加灵活.2. 当向df对象中新加入一列,其元素为空字符串时[目的是占位], 不可通过iloc来进行赋值,使用loc则可以.# way -1. 使用iloc  [无法赋值]df3.iloc[2, 'F'] = 100SettingWithCopyWarning : A value is trying to be set on a copy of a slice from a DataFrame# way -2. 使用locdf3.loc[2, 'F'] = 100得到如下结果:A         B           C         D         E    F0  0.299199  0.076892    1.378794 -1.607846 -0.763427     1 -0.061252  1.336151   -1.788529 -0.370140 -1.486368     2  0.665735 -0.233112  130.000000 -1.321832 -0.083957  1003 -0.319322 -0.756146   -0.997257  0.556998 -0.292198     # 备注当向df对象加入新的列时,如果对应元素的需要在后期才能确定,应该先将其初始化为None,这样使用iloc和loc均可以在后期为新列中的元素赋值3.在处理大批量数据时,如果需要先向df对象插入空列,在后期再填充空列中对应位置的元素,应优先考虑使用loc而不是iloc,因为前者的访问速度比后者快几十倍!!!

原文链接:https://blog.csdn.net/on_theway10/article/details/87166605

这篇关于DataFrame.iloc()与DataFrame.loc的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/545938

相关文章

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

C# 委托中 Invoke/BeginInvoke/EndInvoke和DynamicInvoke 方法的区别和联系

《C#委托中Invoke/BeginInvoke/EndInvoke和DynamicInvoke方法的区别和联系》在C#中,委托(Delegate)提供了多种调用方式,包括Invoke、Begi... 目录前言一、 Invoke方法1. 定义2. 特点3. 示例代码二、 BeginInvoke 和 EndI

MySQL常见的存储引擎和区别说明

《MySQL常见的存储引擎和区别说明》MySQL支持多种存储引擎,如InnoDB、MyISAM、MEMORY、Archive、CSV和Blackhole,每种引擎有其特点和适用场景,选择存储引擎时需根... 目录mysql常见的存储引擎和区别说明1. InnoDB2. MyISAM3. MEMORY4. A

在Dockerfile中copy和add的区别及说明

《在Dockerfile中copy和add的区别及说明》COPY和ADD都是Dockerfile中用于文件复制的命令,但COPY仅用于本地文件或目录的复制,不支持自动解压缩;而ADD除了复制本地文件或... 目录在dockerfile中,copy 和 add有什么区别?COPY 命令ADD 命令总结在Doc

解读Pandas和Polars的区别及说明

《解读Pandas和Polars的区别及说明》Pandas和Polars是Python中用于数据处理的两个库,Pandas适用于中小规模数据的快速原型开发和复杂数据操作,而Polars则专注于高效数据... 目录Pandas vs Polars 对比表使用场景对比Pandas 的使用场景Polars 的使用

Java中ArrayList和LinkedList有什么区别举例详解

《Java中ArrayList和LinkedList有什么区别举例详解》:本文主要介绍Java中ArrayList和LinkedList区别的相关资料,包括数据结构特性、核心操作性能、内存与GC影... 目录一、底层数据结构二、核心操作性能对比三、内存与 GC 影响四、扩容机制五、线程安全与并发方案六、工程

java中不同版本JSONObject区别小结

《java中不同版本JSONObject区别小结》本文主要介绍了java中不同版本JSONObject区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录1. FastjsON2. Jackson3. Gson4. org.json6. 总结在Jav

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

java中的HashSet与 == 和 equals的区别示例解析

《java中的HashSet与==和equals的区别示例解析》HashSet是Java中基于哈希表实现的集合类,特点包括:元素唯一、无序和可包含null,本文给大家介绍java中的HashSe... 目录什么是HashSetHashSet 的主要特点是HashSet 的常用方法hasSet存储为啥是无序的

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是