如何在pandas数据帧中将重复项映射到键,并将键映射到重复项?

2024-04-25 00:53:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有下表:

Key Col  
ABC Dup1  
ACA Dup1  
ACA Dup2  
ECB Dup3  
ACD Dup2

我想将第3行中键ACA的第一行值指定为Dup1(第2行),并将ACD的值更改为Dup1,ABC=ACA=ACD以下是所需的输出:

^{pr2}$

我已尽力解释这个问题,但请随时询问进一步的问题。在


Tags: keycolabcacdecbacapr2dup2
1条回答
网友
1楼 · 发布于 2024-04-25 00:53:23

需要两个映射将重复项映射到键,并将键映射到重复项。使用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

相关问题 更多 >