用特定值替换特定值

时间:2018-06-25 11:53:15

标签: python python-3.x pandas replace replacewith

我有一个名为REF的数据框,其结构如下:

old_id  new_id
     3       6
     4       7
     5       8

我要替换与另一个数据帧old_id中的任何NEW值相等的所有值,即:

old_id  column_1  column_2
     3         a         e
     4         b         f
     9         c         g
     9         d         h

因此,新的输出数据集NEW将为:

old_id  column_1  column_2
     6         a         e
     7         b         f
     9         c         g
     9         d         h

1 个答案:

答案 0 :(得分:3)

使用map

s = df1.set_index('old_id')['new_id']

df2['old_id'] = df2['old_id'].map(s).fillna(df2['old_id'])

或将slowier solutionreplace

df2['old_id'] = df2['old_id'].replace(s)