Pandas-根据另一列中的值查找列中的值,并替换不同列中的日期
我有一个df,如下所示: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
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谢谢,伙计!