pandas:如何通过与另一个Panel合并来沿着短轴延伸

时间:2016-12-13 21:34:40

标签: python pandas join merge panel

我有两个具有相同列的面板('打开','关闭''卷'等),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列。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

pd.concataxis=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()

enter image description here