如何实现一个DataFrame的行条目与另一个DataFrame的列名匹配?解决代码中无法访问单元格的问题
问题分析与解决方案
首先,你代码里的核心问题是**iterrows()返回的是(index, row)元组**,你直接用i['Player']会报错,因为i是包含行索引和行数据的元组,不是单独的行Series。得先解构这个元组,拿到真正的行数据部分,同时你的匹配条件也存在逻辑错误,下面一步步帮你修正并优化:
1. 修正基础遍历逻辑(解决单元格访问问题)
先把你的循环改成正确的解构形式,同时修正匹配条件:
for idx_i, row_i in df.iterrows(): for idx_j, row_j in df2.iterrows(): # 匹配Player,同时确保df的Brand值是df2的有效列名 if row_i['Player'] == row_j['Player'] and row_i['Brand'] in df2.columns: # 通过行索引idx_i定位,给df的Endorsements列赋值 df.loc[idx_i, 'Endors
相关产品推荐
相关产品推荐

