用其他数据框中的匹配值替换索引值

Posted

技术标签:

【中文标题】用其他数据框中的匹配值替换索引值【英文标题】:Replace Index values with matched values in other dataframe 【发布时间】:2018-05-01 05:19:59 【问题描述】:

我有以下数据框:

df1:

   Index   ColA  
     a      10   
     b       9   
     c      12   
     d      13   

df2:

   Index  Letter  Names    
     0      d     Waylon    
     1      a     Marcus 
     2      z     Eddie 
     3      q     Justine 
     4      c     Angela 
     5      b     Joanna 

我想将 df1 中的索引值替换为 df2 中的相应值,所以结果如下所示:

df1:

   Index   ColA  
   Marcus   10   
   Joanna    9   
   Angela   12   
   Waylon   13   

有什么想法吗?

【问题讨论】:

【参考方案1】:

你需要rename by dictionaryset_indexto_dict 创建:

df1 = df1.rename(index=df1.set_index('Letter')['Names'].to_dict())

【讨论】:

您好 Jezrael,感谢您的快速回复。我试过这个,但不断收到以下错误:“系列”对象不可调用。我可能是因为您称为索引的列是该列的实际索引..您知道如何解决这个问题吗? 不客气!如果我的回答有帮助,请不要忘记 accept 它 - 单击答案旁边的复选标记 () 将其从灰色切换为已填充。谢谢。

以上是关于用其他数据框中的匹配值替换索引值的主要内容,如果未能解决你的问题,请参考以下文章

根据规则将数据框中的值替换为其他值

替换数据框中的 NaN 索引值

如何用同一数据框中其他列的实际列值替换一列中的字符串值?

替换textarea文本值中的换行符

如何将逗号添加到数据框中的现有值中?熊猫

将一个数据帧中的匹配值替换为另一个数据帧中的索引值