Pandas Merge Vlookup,KeyError:“['Value']不在索引中”

2024-09-27 00:22:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在两个数据帧之间执行vlookup/合并。我得到了错误 KeyError: "['Player'] not in index"

我试过重新索引这些列,但似乎不起作用。 df1= df1.reindex(columns = ['Player','Category'])

我当前的代码是这样的missingnames = pd.merge(df1,df2[['Player','Player Name']],on='Player',how = 'left')

我的数据帧如下:

df1型:

enter image description here

df2型:

enter image description here

预期产量

enter image description here

有人能帮忙吗? 谢谢


Tags: columns数据代码inindex错误notdf1
3条回答

使用^{}

df1['Exists']=np.where(df1['Player'].str.upper().isin(df2['Player Name'].str.upper()),'Exists','')

仔细查看合并参数和每个数据帧中的列

df1包括“玩家”和“类别” df2包括“球员姓名”、“身高”和“体重”

您的merge参数表示“Player”列在df2中,但它不是

missingnames = pd.merge(df1,df2[['Player','Player Name']],on='Player',how = 'left') ========================================^

缺少的名称需要更改为: missingnames = df1.merge(df2,left_on='Player',right_on='Player Name',how = 'left')

然后从那里确定是否有任何缺失的值

你可以这样做:

df1['Exists'] = df1['Player'].str.lower().isin(df2['Player Name'].str.lower())

相关问题 更多 >

    热门问题