2 回答
TA贡献1883条经验 获得超3个赞
通过创建字典zip并将其传递给applymap, or replaceor applywith map:
s = dict(zip(df1['Item_ID'], df1['Item_Name']))
#if value not exist in df1['Item_ID'] get None in df2
df2 = df2.applymap(s.get)
或者:
#if value not exist in df1['Item_ID'] get original value in df2
df2 = df2.replace(s)
或者:
#if value not exist in df1['Item_ID'] get NaN in df2
df2 = df2.apply(lambda x: x.map(s))
print (df2)
Item_slot_1 Item_slot_2 Item_Slot_3
0 C C B
1 B C A
2 A B B
编辑:
您可以按名称为进程指定列:
cols = ['Item_slot_1','Item_slot_2','Item_Slot_3']
df2[cols] = df2[cols].applymap(s.get)
df2[cols] = df2[cols].replace(s)
df2[cols] = df2[cols].apply(lambda x: x.map(s))
添加回答
举报