我有两个具有相同列的面板('打开','关闭''卷'等),major_axis是日期时间,minor_axis是股票代码。
我想加入/合并两者,这样列不会改变,但我现在沿着短轴有所有股票符号。
请注意,不能保证major_axis中的日期时间完全相同,我需要一个外连接(或等效的)。
正如我正在做的文档所暗示的那样:
p1.join(p2, how='outer')
但得到错误:
ValueError: columns overlap but no suffix specified: Index([u'Open', u'High', u'Low', u'Close', u'Volume', u'Adj Close'], dtype='object')
如果我指定后缀,我最终会有12列。
有什么建议吗?
答案 0 :(得分:1)
将pd.concat
与axis=2
示例
tidx = pd.date_range('2015-03-31', periods=3, freq='M')
list1 = ['IBM', 'APPL']
list2 = ['CVX', 'BHP']
items = ['Open', 'Close', 'High', 'Low']
p1 = pd.Panel(np.random.rand(4, 3, 2), items, tidx, list1)
p2 = pd.Panel(np.random.rand(4, 3, 2), items, tidx, list2)
# <- This is the answer ->
pd.concat([p1, p2], axis=2).to_frame()