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

如何匹配DataFrame中D列指定值获取同一条行对应的A列值

原始DataFrame结构
A      B         C                 D
group_997    NaN    Purple    JMHKJALJ_06538
group_998    NaN    Pink      JMHKJALJ_04556
group_999    NaN    Red       JMHKJALJ_09211
group_995    NaN    Green     JMHKJALJ_16378
group_996    NaN    Yellow    JMHKJALJ_81324
错误原因

原代码逻辑为筛选A列包含JMHKJALJ_16378的行,但目标值实际存储在D列,列名匹配错误导致输出不符合预期。

正确实现代码

1. 精确匹配场景(推荐,符合当前需求)

直接匹配D列等于目标值的行,取对应A列的字符串结果:

result = df.loc[df['D'] == 'JMHKJALJ_16378', 'A'].iloc[0]

运行后result的值就是预期的group_995。

2. 模糊匹配场景

如果需要检索D列包含目标字符串的行,可使用str.contains方法:

result = df.loc[df['D'].str.contains('JMHKJALJ_16378'), 'A'].iloc[0]
逻辑说明
  • df['D'] == 'JMHKJALJ_16378' 生成布尔值序列,标记所有D列等于目标值的行
  • loc[布尔序列, 'A'] 筛选符合条件的行,仅返回A列的Series结构结果
  • iloc[0] 取出Series中的第一个值,得到最终的字符串格式结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:18:03