根据其他列的唯一组合更改数据框列值

Ven*_*tra 4 python pandas

我有以下数据框:

 df=pd.DataFrame([[1,11,'a'],[2,12,'b'],[1,11,'c'],[3,12,'d'],[3,7,'e'],
    [2,12,'f']])
 df.columns=['id','code','name']

 print(df)


     id  code name
  0   1    11    a
  1   2    12    b
  2   1    11    c
  3   3    12    d
  4   3     7    e
  5   2    12    f
Run Code Online (Sandbox Code Playgroud)

对于上面的数据帧,我想只有列'name'的一个值,用于任何唯一的column idcode.对于eq,name行0和2应该相同.而且,name行1和5也应该相同.

       id  code name
   0   1    11    a
   1   2    12    b
   2   1    11    a
   3   3    12    d
   4   3     7    e
   5   2    12    b
Run Code Online (Sandbox Code Playgroud)

请让我知道如何以编程方式完成此操作.我有两个超过100000行进行此操作.

谢谢

Sco*_*ton 6

让我们使用groupby,transform以及first:

df.assign(name=df.groupby(['id','code'])['name'].transform('first'))
Run Code Online (Sandbox Code Playgroud)

输出:

   id  code name
0   1    11    a
1   2    12    b
2   1    11    a
3   3    12    d
4   3     7    e
5   2    12    b
Run Code Online (Sandbox Code Playgroud)