假设我有2个 pandas数据帧 s(符号随时间变化的一种映射货币以及货币随时间推移的其他映射值)我如何逐个值获得每个符号的值
sym = pd.DataFrame(data=[["USD","EUR"],["USD","CAD"]],columns=["FB", "SAP"])
和
fx = pd.DataFrame(data=[[1, 2, 3], [4, 5, 6]], columns = ["USD","EUR","CAD"])
获取
adj = pd.DataFrame(data=[[1, 2], [4, 6]], columns = ["FB", "SAP"])?
答案 0 :(得分:2)
stack
+ lookup
dd=sym.stack().to_frame('value')
dd.loc[:,'value']=fx.lookup(dd.index.get_level_values(0),dd['value'])
dd
Out[973]:
value
0 FB 1
SAP 2
1 FB 4
SAP 6
dd.unstack()
Out[974]:
value
FB SAP
0 1 2
1 4 6