替换数据帧中值的键

时间:2017-05-18 08:19:43

标签: pandas

我有2个词典

dict1={'Water': 'H2O',  'Lithium': 'L'}

dict2={'five': 'pentagon', 'eight': 'Octagon'}

以下数据框

                     Water         five  Lithium         eight 
Chemical tests      
test1                26.87         25.06  26.79          15.23   
test2                 6.06          3.21   4.16           1.46    
test3                   --          4.11   8.61           2.16    
test4                20.25         36.22  20.94          58.86 

我想知道是否有可能通过2个字典中的相应值更改每个列标题。

所需的输出看起来像这样

                     H20         pentagon   L          octagon
Chemical tests      
test1                26.87         25.06  26.79          15.23   
test2                 6.06          3.21   4.16           1.46    
test3                   --          4.11   8.61           2.16    
test4                20.25         36.22  20.94          58.86 

1 个答案:

答案 0 :(得分:2)

使用双rename

df = df.rename(columns=dict1).rename(columns=dict2)
print (df)
                  H2O  pentagon      L  Octagon
Chemical tests                                 
test1           26.87     25.06  26.79    15.23
test2            6.06      3.21   4.16     1.46
test3              --      4.11   8.61     2.16
test4           20.25     36.22  20.94    58.86

merge两个dict到一个:

z = dict1.copy()
z.update(dict2)

df = df.rename(columns=z)
print (df)
                  H2O  pentagon      L  Octagon
Chemical tests                                 
test1           26.87     25.06  26.79    15.23
test2            6.06      3.21   4.16     1.46
test3              --      4.11   8.61     2.16
test4           20.25     36.22  20.94    58.86