Соеденить 2 2d массива в один 3d

import numpy as np
a=np.array( [['d'],['e'],['f'],['g'],['h'],['i']])
b=a[:-1]
c=a[1:]

#a
#[['d'],['e'],['f'],['g'],['h'],['i']]

#b
#[['d'],['e'],['f'], ['g'],['h']]

#c
#[['e'],['f'],['g'],['h'],['i']]

нужно получить
[
[['d'],['e']],
[['e'],['f']],
[['f'],['g']],
[['g'],['h']],
[['h'],['i']],
]

['X'] это 1d масив из 60 элементов. В массиве ['X'] элементов > милиона. Прошу помочь. Ато получается не 2 массива один за другим, а один слиты.


Ответы (1 шт):

Автор решения: strawdog

воспользуйтесь методом stack с указанием оси:

np.stack((b, c), axis=1)
array([[['d'],
        ['e']],

       [['e'],
        ['f']],

       [['f'],
        ['g']],

       [['g'],
        ['h']],

       [['h'],
        ['i']]], dtype='<U1')
→ Ссылка