Pandas中ix,loc, iloc的用法及区别

2024-03-20 20:58
文章标签 用法 区别 pandas ix iloc loc

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

Pandas在对Series和DataFrame进行行列索引时,有三种常用的方法。其中.ix方法兼顾了.loc和.iloc的用法。为了避免用户在使用这三种方法时产生混淆,从pandas 0.20.0版本开始,官方不推荐使用.ix方法而是使用.iloc 和.loc方法。

.loc()方法:(1)使用行标签和列标签,获取行、列对应的某一个值
(2)选定某一个区域的值
注意:.loc()方法的的取值范围都是闭区间
.iloc()方法:(1)采用索引获取某一个值,且行和列中后区间为开区间
(2)选定某一个区域的值
注意:行索引和列索引的起始值为0

loc——通过行标签索引行数据

loc[‘d’]表示索引的是第’d’行(index 是字符)

import pandas as pd  
data = [[1,2,3],[4,5,6]]  
index = ['d','e']  
columns=['a','b','c']  
df = pd.DataFrame(data=data, index=index, columns=columns)  

df数据样式:

abc
d123
e456
df.loc['d']  
a1
b2
c3

如果想索引列数据,像这样做会报错

print df.loc['a']  

‘’’’’
KeyError: ‘the label [a] is not in the [index]’
‘’’

loc可以获取多行数据

print df.loc['d':]  
abc
d123
e456

loc扩展——索引某行某列

print df.loc['d',['b','c']]  
b2
c3

loc扩展——索引某列

print df.loc[:,['c']]  
c
d3
e6

当然获取某列数据最直接的方式是df.[列标签],但是当列标签未知时可以通过这种方式获取列数据。
注意:dataframe的索引[1:3]是包含1,2,3的,与平时的不同。

iloc——通过行号获取行数据

想要获取哪一行就输入该行数字

df.iloc[1]  
a4
b5
c6

通过行标签索引会报错

print df.iloc['a']  

‘’’’’
TypeError: cannot do label indexing on <class ‘pandas.core.index.Index’> with these indexers [a] of <type ‘str’>
‘’’

同样通过行号可以索引多行

df.iloc[0:]  
abc
d123
e456

iloc索引列数据

df.iloc[:,[1]]  
b
d2
e5

ix——结合前两种的混合索引

通过行号索引

df.ix[1]  
a4
b5
c6

通过行标签索引

df.ix['e']  
a4
b5
c6

这篇关于Pandas中ix,loc, iloc的用法及区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

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

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

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

Windows命令之tasklist命令用法详解(Windows查看进程)

《Windows命令之tasklist命令用法详解(Windows查看进程)》tasklist命令显示本地计算机或远程计算机上当前正在运行的进程列表,命令结合筛选器一起使用,可以按照我们的需求进行过滤... 目录命令帮助1、基本使用2、执行原理2.1、tasklist命令无法使用3、筛选器3.1、根据PID

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

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

JavaScript中的Map用法完全指南

《JavaScript中的Map用法完全指南》:本文主要介绍JavaScript中Map用法的相关资料,通过实例讲解了Map的创建、常用方法和迭代方式,还探讨了Map与对象的区别,并通过一个例子展... 目录引言1. 创建 Map2. Map 和对象的对比3. Map 的常用方法3.1 set(key, v

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