2017-05-18 3 views
3

Ich habe 2 Wörterbücherersetzt Schlüssel für Werte in Datenrahmen

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

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

und der folgenden Datenrahmen

     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  

ich mich gefragt, ob es eine Möglichkeit, die jeden Spaltenkopf mit seinem entsprechenden Wert zu ändern war in die 2 Wörterbücher.

Die gewünschte Ausgabe würde in etwa so aussehen

     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  

Antwort

2

Verwenden Doppel 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 

Oder merge beide dict s ein:

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 
Verwandte Themen