python pandas (ix & iloc &loc) 的区别

本文介绍了Pandas中三种主要的数据索引方式:loc、iloc和ix。loc用于通过行标签来索引数据;iloc则使用行号进行索引;ix结合了两者的特点,既可以通过行标签也可以通过行号进行索引。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

loc——通过行标签索引行数据 
iloc——通过行号索引行数据 
ix——通过行标签或者行号索引行数据(基于loc和iloc 的混合) 

### Pandas 中 `ix`、`iloc` 和 `loc` 的区别及用法 #### 1. `loc` `loc` 是基于标签的索引器,主要用于通过行和列的标签访问数据。对于具有自定义索引的数据框来说非常有用。 ```python import pandas as pd import numpy as np data = pd.DataFrame( np.random.randint(100, size=(10, 10)), columns=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'], index=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] ) # 使用 loc 访问特定行列组合 print(data.loc['A':'C', ['a', 'b']]) ``` 此代码片段展示了如何利用 `loc` 来选取从 A 到 C 行以及 a 和 b 这两列的内容[^3]。 #### 2. `iloc` 与 `loc` 不同的是,`iloc` 主要用于整数位置上的索引,即它依据数组的位置而非标签来进行定位。 ```python # 使用 iloc 获取前五行前三列的数据 print(data.iloc[:5, :3]) ``` 这段代码说明了怎样运用 `iloc` 提取位于 DataFrame 前五条记录中的头三个字段的信息。 #### 3. `ix` 需要注意的是,在较新的版本中已经不推荐使用 `ix` 属性,并且在未来可能会被移除。这是因为其行为有时会让人感到困惑,因为它既支持按位又支持按名索引的方式。因此建议优先考虑使用更明确的 `loc` 或者 `iloc` 方法代替之[^4]。 为了更好地理解这三种索引机制之间的差异: - 当确切知道想要获取哪几行/列的名字时应该选用 `loc`; - 如果是按照数值下标来指定范围,则应采用 `iloc`. - 对于混合模式的需求场景(已废弃),过去曾有 `ix` 可供选择但现在不再提倡使用.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值