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

pandas中loc和iloc的区别

在 Pandas 中,lociloc 是用于选择和过滤数据的两种主要方法,它们的区别在于使用的索引类型。

1. loc:基于标签索引

  • loc 是基于行或列的标签(label)来选择数据。它可以按行或列的名称来访问数据,也可以通过布尔索引选择。
  • 支持的索引类型:行标签、列标签、布尔索引。
  • 语法DataFrame.loc[row_indexer, column_indexer]

示例

import pandas as pd# 创建示例数据
df = pd.DataFrame({'A': [1, 2, 3, 4],'B': [5, 6, 7, 8],'C': [9, 10, 11, 12]
}, index=['a', 'b', 'c', 'd'])# 使用 loc 基于行标签选择
print(df.loc['a'])  # 选择标签为 'a' 的行

输出

A    1
B    5
C    9
Name: a, dtype: int64
loc 示例用法:
  • 选择行和列:使用行和列标签选择特定的元素或切片。
df.loc['b', 'A']  # 选择标签为 'b' 的行,'A' 列的元素
  • 选择多个行或列
df.loc[['a', 'b'], ['A', 'B']]  # 选择 'a' 和 'b' 行的 'A' 和 'B' 列
  • 布尔索引
df.loc[df['A'] > 2]  # 选择 'A' 列中大于 2 的行

2. iloc:基于整数位置索引

  • iloc 是基于行或列的整数位置(即位置编号)来选择数据。它的工作方式类似于 NumPy 的数组索引方式。
  • 支持的索引类型:整数位置。
  • 语法DataFrame.iloc[row_indexer, column_indexer]

示例

# 使用 iloc 基于位置选择
print(df.iloc[0])  # 选择位置为 0 的行

输出

A    1
B    5
C    9
Name: a, dtype: int64
iloc 示例用法:
  • 选择单个元素
df.iloc[1, 0]  # 选择位置为 (1, 0) 的元素
  • 选择多个行或列
df.iloc[0:2, 0:2]  # 选择前两行和前两列

区别总结

特性loc(基于标签)iloc(基于位置)
索引类型行/列的标签(可以是字符串、日期等)行/列的整数位置
支持的索引标签索引、布尔索引整数位置索引
示例df.loc['a']df.iloc[0]
切片标签的范围包含最后一个索引(闭区间)索引的范围不包含最后一个位置(开区间)

具体场景:

  • loc 更适合当你知道数据的标签(比如行名、列名)时,可以进行精确或基于条件的访问。
  • iloc 更适合当你按数据的具体位置(比如第几行、第几列)进行访问时。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【排序算法】之基数排序
  • kafka原理剖析及实战演练
  • 手机玩机常识-------谷歌系列机型解锁bl详细步骤 其他机型可以借鉴参考
  • Git 提取和拉取的区别在哪
  • 基于基础模型BERT与大语言模型ChatGLM3-6B实现文本分类、信息抽取、文本匹配等任务
  • wopop靶场漏洞挖掘练习
  • 解决:Module build failed (from ./node_modules/sass-loader/dist/cjs.js)问题
  • Go Playground 在线编程环境
  • Unity自带脚本之GameObject脚本
  • MariaDB基本知识汇总
  • 如何使用智能合约铸造 NFT —— 以 NftMarket 合约为例
  • 部署自己的对话大模型,使用Ollama + Qwen2 +FastGPT 实现
  • 机器学习中的数据详解:数据类型、划分、属性等
  • 蚂蚁数科,独行的170天和未来新征程
  • Python 线程池:并发编程的高效工具
  • ES6 ...操作符
  • Git学习与使用心得(1)—— 初始化
  • hadoop集群管理系统搭建规划说明
  • JavaScript对象详解
  • React16时代,该用什么姿势写 React ?
  • Theano - 导数
  • 构建工具 - 收藏集 - 掘金
  • 欢迎参加第二届中国游戏开发者大会
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 理清楚Vue的结构
  • 面试题:给你个id,去拿到name,多叉树遍历
  • -- 数据结构 顺序表 --Java
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 怎么把视频里的音乐提取出来
  • 正则表达式
  • ​【已解决】npm install​卡主不动的情况
  • ​马来语翻译中文去哪比较好?
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (poj1.2.1)1970(筛选法模拟)
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (算法)大数的进制转换
  • (五)activiti-modeler 编辑器初步优化
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转载)利用webkit抓取动态网页和链接
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ***利用Ms05002溢出找“肉鸡
  • .Net 8.0 新的变化
  • .net 程序发生了一个不可捕获的异常
  • .Net 代码性能 - (1)
  • .Net 知识杂记
  • .Net程序帮助文档制作
  • .NET文档生成工具ADB使用图文教程
  • .net专家(高海东的专栏)
  • @ModelAttribute 注解
  • @RequestBody与@ModelAttribute