熊猫合并Vlookup,KeyError:“ ['Value']不在索引中”

时间:2019-11-06 14:23:05

标签: python pandas

我正在尝试在两个数据帧之间执行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

有人可以帮忙吗? 谢谢。

3 个答案:

答案 0 :(得分:1)

您可以这样做:

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

答案 1 :(得分:1)

使用numpy.where

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

答案 2 :(得分:1)

仔细查看您的merge参数和每个数据框中的列

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')

然后从那里确定是否缺少任何值