You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过iloc定位的元素获取其对应的行索引(loc/行名)?

解决方法

pandas的Index对象本身支持按位置下标取值,你已知行位置的话,直接对a.index用下标取对应位置即可。

1. 核心实现代码

你要获取行位置为n的行标签,直接调用:

# n为你已知的行位置,比如示例中的0
row_label = a.index[n]
# 要存入列表的话可以直接用以下两种写法
row_label_list = [a.index[n]]
# 如果你需要和布尔筛选相同的values格式输出,用:
row_label_values = a.index[[n]].values

2. 错误原因说明

你之前写的a.iloc[0,0].index无法生效,是因为a.iloc[0,0]返回的是单元格对应的单个标量值(比如数字、字符串等),不是pandas的Series/DataFrame对象,本身没有index属性,所以调用会报错。
如果你通过.iloc取的是整行数据(返回Series对象),也可以通过Series的name属性拿到行标签:

# 取行位置为0的整行,再拿行标签
row_label = a.iloc[0].name

示例效果

假设你的DataFrame结构如下:

行标签tpep_pickup_datetime其他列
10242015-01-01 00:35:38xxx
20482015-01-01 01:12:09xxx

行位置0对应的行标签为1024,调用a.index[0]直接返回1024,a.index[[0]].values返回array([1024], dtype=int64),和你之前布尔筛选拿到的输出格式完全一致。

内容的提问来源于stack exchange,提问作者Paloma Fernandez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:06:02