Skip to main content
 首页 » 编程设计

python之Pandas 将行分配给匹配行的索引

2025年05月04日9kenshinobiy

给定 pandas 中的两列,我如何将 A 列的行分配给 B 列中匹配行的索引,给定 A 列中的重复项?

数据:

   A  B  
0  x  k 
1  y  z  
2  z  y 
3  k  x 
4  x  nAn 

输出:

   A  B  
0  3  k 
1  2  z  
2  1  y 
3  0  x 
4  3  nAn 

我尝试遍历每一行并将 A 的行分配给 B 中匹配行的索引,但我觉得有一种更有效的方法可以做到这一点。

请您参考如下方法:

使用 map

df.assign(A=df.A.map(dict(zip(df.B, df.index)))) 
 
   A    B 
0  3    k 
1  2    z 
2  1    y 
3  0    x 
4  3  nAn