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

如何在不指定列名的情况下查找DataFrame中特定值的行列索引

在DataFrame中查找特定值的行列索引(不指定列名)

不用指定列名的话,有两种简单方法可以一次性拿到目标值的行、列索引:

方法一:利用numpy的where函数

DataFrame底层基于numpy数组,直接用np.where可以定位所有匹配值的位置:

import numpy as np

# 定位所有值为'Date'的位置
rows, cols = np.where(df.values == 'Date')

# 输出结果
print(f"匹配到的行索引:{rows}")
print(f"匹配到的列索引:{cols}")

如果有多个'Date'值,rows和cols会分别返回所有对应的行、列索引数组;只有单个匹配时,返回的是单元素数组。

方法二:用stack()转换索引后筛选

把DataFrame堆叠成多级索引的Series,直接提取匹配值的索引对:

# 堆叠后筛选出值为'Date'的条目,获取其(行索引, 列索引)
match_indices = df.stack()[df.stack() == 'Date'].index

# 遍历输出每个匹配的行列索引
for idx in match_indices:
    print(f"行索引:{idx[0]},列索引:{idx[1]}")

这种方法的优势是直接得到(行, 列)的索引元组,方便逐个处理匹配结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:45:35