【发布时间】:2015-03-22 16:48:36
【问题描述】:
我有一个数据框 dat1:
Asset Returns
DJ 0.1
SP 0.2
USDJPY 0.03
USDMXN 1.2
我有另一个数据框 dat2:
Country Class Asset
USA E DJ
USA E SP
USA FX USDJPY
USA FX USDMXN
如何使用 dat2 为 dat1 创建索引; dat1 和 dat2 有一个共同点 “资产”列
>new_dat=dat_corr.merge(dat_class,on="Asset",how="right").set_index(['Country','Class','Asset'])
>new_dat.shape
(89, 89)
>temp1='UNITEDSTATES'
>temp2='Equity'
>new_dat.loc[ (new_dat.index.get_level_values('Country').isin([temp1]) & new_dat.index.get_level_values('Class').isin([temp2]))]'
这给了我 [3 行 x 89 列]。我的 89 列是 Equity/FX/FI/Commodities 的组合。如果我只想要美国股票而不是所有其他股票而不是整个 89 列,我该怎么做?所以我想我是否也可以为列创建索引并使用类似的方法?
【问题讨论】:
-
抱歉,您要求合并
Asset列上的 2 个 dfs?你能显示想要的输出吗