Pandas-根据另一列中的值查找列中的值,并替换不同列中的日期

Pandas-根据另一列中的值查找列中的值,并替换不同列中的日期,pandas,dataframe,if-statement,replace,find,Pandas,Dataframe,If Statement,Replace,Find,我有一个df,如下所示: ID Name Supervisor SupervisorID 1 X Y 2 Y C 3 Z Y 4 C Y 5 V X ID Na

我有一个df,如下所示:

ID    Name      Supervisor         SupervisorID
1     X         Y                  
2     Y         C                  
3     Z         Y                  
4     C         Y                  
5     V         X                  
ID    Name      Supervisor         SupervisorID
1     X         Y                  2
2     Y         C                  4
3     Z         Y                  2
4     C         Y                  2
5     V         X                  1
我需要的是找到主管。我可以通过在列名中检查来找到他的ID,我会看到他的ID,所以如果主管是Y,那么我会在列名中看到Y,所以他的ID是2。DF应如下所示:

ID    Name      Supervisor         SupervisorID
1     X         Y                  
2     Y         C                  
3     Z         Y                  
4     C         Y                  
5     V         X                  
ID    Name      Supervisor         SupervisorID
1     X         Y                  2
2     Y         C                  4
3     Z         Y                  2
4     C         Y                  2
5     V         X                  1
你知道怎么解决这个问题吗

感谢您的帮助和问候

用于唯一的
名称
s,因为在真实数据重复中:

df['SupervisorID']=df['Supervisor'].map(df.drop_duplicates('Name').set_index('Name')['ID'])
print (df)
   ID Name Supervisor  SupervisorID
0   1    X          Y             2
1   2    Y          C             4
2   3    Z          Y             2
3   4    C          Y             2
4   5    V          X             1

谢谢,但我得到了错误:“InvalidIndexError:Reindexing仅对唯一值的索引对象有效”@Tmiskiewicz-答案已编辑。现在很好:D谢谢,伙计!