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

在pandas中获取满足指定条件的值对应的索引、列名及数值的方法

筛选DataFrame符合条件单元格的坐标与值的方法

核心通过stack()将宽表转为带行、列索引的长结构,筛选后直接提取所需信息即可,完整实现代码如下:

import pandas as pd

# 示例DataFrame构造,实际使用时替换为你的df即可
df = pd.DataFrame(
    {"a": [1, 2, 3], "b": [3, 2, 1]},
    index=["x", "y", "z"]
)

# 1. 堆叠转换为长格式,行索引、列名会转为多级索引
stack_df = df.stack().reset_index()
stack_df.columns = ["row_index", "col_name", "value"]

# 2. 按条件筛选,此处条件为值大于2,可按需替换为其他数值判断逻辑
filter_df = stack_df[stack_df["value"] > 2]

# 3. 整理为(列名, 行索引, 值)的元组列表
result = filter_df[["col_name", "row_index", "value"]].apply(tuple, axis=1).tolist()
print(result)

运行后输出结果为:
[('a', 'z', 3), ('b', 'x', 3)]
和你预期的返回格式完全匹配,如果你需要其他返回结构,可调整最后一步的转换逻辑,比如直接返回DataFrame格式的筛选结果即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:27:08