我正在尝试从多个数据帧中连接列。
`AUD = OHLC_AUDUSD['bid']['close'];`
`AUD = AUD.dropna()`
`CAD = OHLC_USDCAD['bid']['close'];`
`CAD = CAD.dropna()`
`print AUD`
符号时间戳AUDUSD 2015-01-05 0.8096 2015-01-06 0.8077 2015-01-07 0.8074 2015-01-08 0.8112 2015-01-09 0.8200名称:close,dtype:float64
`print CAD`
符号时间戳USDCAD 2015-01-05 1.1756 2015-01-06 1.1838 2015-01-07 1.1818 2015-01-08 1.1826 2015-01-09 1.1864名称:close,dtype:float64
`key=['AUD','CAD']`
`marketData = pd.concat([AUD,CAD], axis=1, keys=key)`
AUD CAD
symbol timestamp
AUDUSD 2015-01-05 0.8096 NaN
2015-01-06 0.8077 NaN
2015-01-07 0.8074 NaN
2015-01-08 0.8112 NaN
2015-01-09 0.8200 NaN
USDCAD 2015-01-05 NaN 1.1756
2015-01-06 NaN 1.1838
2015-01-07 NaN 1.1818
2015-01-08 NaN 1.1826
2015-01-09 NaN 1.1864
我希望看到的是
AUD CAD
timestamp
2015-01-05 0.8096 1.1756
2015-01-06 0.8077 1.1838
2015-01-07 0.8074 1.1818
2015-01-08 0.8112 1.1826
2015-01-09 0.8200 1.1864
我还没能弄明白这一点!?
答案 0 :(得分:0)
问题是您使用的是MultiIndex
。因此,第一个对应的元素都不具有索引2015-01-05
,一个具有索引(AUDUSD, 2015-01-05)
而另一个具有索引(USDCAD, 2015-01-05)
。这些被认为是不同的索引。您需要使用droplevel
来删除索引的symbol
部分,只留下timestamp
。
或者,您可以在unstack
之前symbol
输入concat
索引,以获取symbol
作为列名。然后,在concat
之后,您可以使用['AUD', 'CAD']
覆盖列名称。