我跟随下表:
Key Col
ABC Dup1
ACA Dup1
ACA Dup2
ECB Dup3
ACD Dup2
我想将第一行的值分配给第3行中的关键ACA为Dup1(第2行),并将ACD的值更改为Dup1,因为ABC = ACA = ACD以下是所需的输出:
Key Col
ABC Dup1
ACA Dup1
ACA Dup1
ECB Dup3
ACD Dup1
我尽力解释这个问题,但请随时提出进一步的询问。
答案 0 :(得分:0)
您需要两个映射来将重复项映射到键,并将映射键映射到重复项。使用df.replace
替换值。
m1 = dict(df.iloc[df.Col.drop_duplicates(keep='first').index].values[:, ::-1])
m2 = dict(df.iloc[df.Key.drop_duplicates(keep='first').index].values)
df.Col = df.Col.replace(m1).replace(m2)
df
Key Col
0 ABC Dup1
1 ACA Dup1
2 ACA Dup1
3 ECB Dup3
4 ACD Dup1