2016-05-15 11 views
-2

Ich habe eine zwei diff Rahmenhinzufügen Ranking Spalten

df1.csv

Reg1 Reg2 
aaa eee 
bbb fff 
ccc ggg 
ddd hhh 

df2.csv

Reg,Rank 
aaa,1 
bbb,3 
ccc,4 
ddd,5 
eee,7 
fff,9 
ggg,10 
hhh,11 

newfram.csv

Reg1,Rank1,Reg2,Rank2 
aaa,1,eee,7 
bbb,3,fff,9 
ccc,4,ggg,10 
ddd,5,hhh,11 

Wie ich tun den newdata Dataframe erreichen?

+0

Können Sie bitte Ihre Formatierung korrigieren? [Siehe Formatierungshilfe hier] (http://stackoverflow.com/editing-help) – miradulo

Antwort

1

Sie können concat mit map von dictionaryd['Rank'] verwenden:

d = df2.set_index('Reg').to_dict() 
print d['Rank'] 
{'aaa': 1, 'bbb': 3, 'ggg': 10, 'eee': 7, 'fff': 9, 'hhh': 11, 'ccc': 4, 'ddd': 5} 


df = pd.concat([df1.Reg1, df1.Reg1.map(d['Rank']), df1.Reg2, df1.Reg2.map(d['Rank'])], 
       axis=1, 
       keys=['Reg1','Rank1','Reg2','Rank2']) 
print df 
    Reg1 Rank1 Reg2 Rank2 
0 aaa  1 eee  7 
1 bbb  3 fff  9 
2 ccc  4 ggg  10 
3 ddd  5 hhh  11 

Für DataFrames von csvread_csv Nutzung zu schaffen. docs.

+0

Vielen Dank jezrael –