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

如何查找pandas DataFrame中字符串索引对应的行号

Pandas 字符串索引获取对应行号的解决方案

你之前的写法返回的是匹配到的索引值本身,而非索引对应的行位置序号,因此无法满足需求。针对索引唯一的场景,最高效的实现方式如下:

方法1:直接使用Index.get_loc()(推荐)

Pandas的Index对象原生提供了get_loc()方法,用于返回指定值对应的位置序号:

row_pos = df.index.get_loc('your_country_name')

返回的row_pos就是从0开始计数的行号,完全符合你的需求。

方法2:兼容重复索引的通用写法

如果后续遇到索引存在重复值的场景,可以使用numpy.where实现:

import numpy as np
# 返回所有匹配项的行号数组
row_pos_list = np.where(df.index == 'your_country_name')[0]
# 索引唯一的场景直接取第一个元素即可
row_pos = row_pos_list[0]

测试示例

你可以用以下测试代码验证效果:

import pandas as pd
# 构造测试数据
df = pd.DataFrame(
    data={'population': [330, 1411, 125, 67]},
    index=['USA', 'China', 'Japan', 'UK']
)
print(df.index.get_loc('Japan'))
# 输出结果为 2,和实际行位置一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:15:04