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

如何在Pandas DataFrame中查找与中位数列值匹配的行索引?

解决方案

1. 提取目标列的中位数数值

先从DataFrame最后一行(行索引为median的行)中,取出你关注的列的中位数数值,以列1为例:

median_val = income.loc['median', '1']

2. 筛选匹配行并获取索引

排除最后一行的中位数行,筛选出列1值等于中位数的行,再提取它的索引:

# 先取除最后一行外的所有数据,再筛选列1等于中位数的行
matched_rows = income.iloc[:-1][income.iloc[:-1]['1'] == median_val]
# 提取第一个匹配行的索引(如果只有一个匹配的话)
target_index = matched_rows.index[0]

完整运行代码

把上面的步骤整合起来,执行后就能得到你要的索引:

# 提取列1的中位数
median_val = income.loc['median', '1']

# 筛选匹配行并获取索引
matched_rows = income.iloc[:-1][income.iloc[:-1]['1'] == median_val]
target_index = matched_rows.index[0]

print(target_index)  # 输出结果:19201 - 38400

额外处理建议

  • 如果存在多个行的列值和中位数相同,可以把索引转成列表获取所有匹配项:
    target_indices = matched_rows.index.tolist()
    
  • 注意列名的类型:如果你的列名是整数(而非字符串),要对应调整成income.loc['median', 1],避免索引错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:32:46