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

Python实现数据集A全元素在数据集B跨列匹配查询求助

问题修正方案

你的代码未实现核心需求(遍历A的所有列元素),且存在未定义变量、逻辑错误等问题,以下是符合需求的完整实现:

问题诊断

  1. row_to_search变量未定义,运行会触发NameError
  2. 仅处理了用户输入的单个值,未遍历A的每一列及每个元素
  3. 错误地将用户输入值与A的某行第一列绑定,偏离原始需求

完整代码实现

import pandas as pd

# 加载数据集
table_a = pd.read_csv("https://raw.githubusercontent.com/Holuwakenny/file/main/players_15.csv")
table_b = pd.read_csv("https://raw.githubusercontent.com/Holuwakenny/file/main/fifa18_clean.csv")

# 遍历数据集A的每一列
for col_a_name in table_a.columns:
    # 遍历当前列的每个元素(跳过空值避免无效检索)
    for _, element in table_a[col_a_name].items():
        if pd.isna(element):
            continue
        target = str(element)
        matched_cols_b = []
        # 遍历数据集B的所有列查找匹配
        for col_b_name in table_b.columns:
            # 统一转为字符串匹配,避免类型不匹配问题
            if target in table_b[col_b_name].astype(str).values:
                matched_cols_b.append(col_b_name)
        # 按指定格式输出结果
        if matched_cols_b:
            print(f"Value {target} from column {col_a_name} found in columns {', '.join(matched_cols_b)}")

核心改进说明

  • 完整遍历A的所有列与元素,严格匹配需求
  • 加入空值处理,避免空值引发的检索异常
  • 统一字符串转换,解决数字、字符串等不同类型的匹配冲突
  • 完全按照你给出的示例格式输出结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 20:55:39