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

基于条件在Pandas中筛选数据:按ID提取指定列内容

根据ID提取指定列数据的方法

推荐方法:直接使用Pandas布尔索引(无需numpy.where)

Pandas本身提供了简洁的布尔筛选方式,无需先获取行号,直接一步完成筛选:

# 筛选ID等于1810的行,仅保留Column1、Column2、Column3三列
result = data.loc[data['ID'] == 1810, ['Column1', 'Column2', 'Column3']]
  • data['ID'] == 1810 生成一个布尔数组,标记哪些行的ID符合条件
  • loc[行条件, 列列表] 是Pandas中按标签筛选行和列的标准用法,直接得到目标数据

基于你已有的numpy.where结果提取

如果你坚持要用np.where获取的行号,可以这样操作:

import numpy as np

# 获取符合条件的行索引
a = np.where(data['ID'] == 1810)
# 利用行索引提取指定列
result = data.loc[a[0], ['Column1', 'Column2', 'Column3']]
  • np.where返回的是元组,a[0]是包含符合条件行号的数组
  • 同样用loc将行号和目标列名结合,得到需要的数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 21:40:33