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

如何提取Python表格中ID在指定列表内的行对应的age列数值?

现有代码问题分析

  • 你之前已经通过集合交集算出了符合条件的ID列表,但后续for x in Table["ID"]的写法直接覆盖了之前的x变量,完全没有用到已经算好的交集结果
  • 循环内直接打印Table["age"]是输出整个age列的所有值,没有和当前循环的ID做匹配

修复方案

首先默认你的Table是pandas的DataFrame对象(符合你给出的Table["列名"]的索引写法),有两种实现方式:

1. 匹配你原有思路的循环写法(新手更易理解)

y = [4,5,2,6]
# 先取同时存在于表格ID和y列表中的目标ID集合
target_ids = set(Table["ID"]) & set(y)
# 遍历表格每一行做判断
for _, row in Table.iterrows():
    if row["ID"] in target_ids:
        # Python3环境请把下行改为print(row["age"])
        print row["age"]

运行后会按表格里的行顺序输出21(ID=2的age)、23(ID=4的age)。

2. pandas内置方法(更简洁高效,无需手动写循环)

pandas提供了isin方法直接判断列值是否在指定列表中,一行代码就能完成筛选:

y = [4,5,2,6]
# 筛选ID在y中的行,提取age列
age_result = Table.loc[Table["ID"].isin(y), "age"]
print(age_result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 20:54:04