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

在Pandas DataFrame中查找特定值并记录(行,列)索引对

高效提取DataFrame中小于0.12的值的行、列索引及对应值

直接用Pandas的向量化操作就能搞定,比手动遍历效率高得多,尤其是处理大数据集的时候,步骤如下:

  • 筛选符合条件的值并整理结构
    用布尔索引结合stack()方法,一次性提取所有小于0.12的值,同时保留它们的行、列索引:

    import pandas as pd
    
    # 假设你的原始DataFrame名为df
    filtered_series = df[df < 0.12].stack()
    
  • 转换成目标格式的DataFrame
    将得到的Series重置索引,并重命名列名即可:

    result_df = filtered_series.reset_index()
    result_df.columns = ['Row', 'Col', 'Value']
    
  • (可选)将行、列索引转为数字位置
    如果你的DataFrame行/列索引不是数字,想要转换成从1开始的数字位置,用下面的代码:

    # 行位置从1开始计数
    result_df['Row'] = df.index.get_indexer(result_df['Row']) + 1
    # 列位置从1开始计数
    result_df['Col'] = df.columns.get_indexer(result_df['Col']) + 1
    

最终得到的result_df就是你需要的格式,示例输出如下:

Row Col Value
4 2 0.105263
...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 06:54:06