我有两个差异帧
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
如何实现新数据框?
答案 0 :(得分:1)
您可以dictionary
d['Rank']
concat
与map
一起使用read_csv
:
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
从DataFrames
使用docs创建csv
。 {{3}}