Просмотр массива:
In [302]: my_array.shape
Out[302]: (1,)
In [303]: my_array['action']
Out[303]:
array([array([[0],
[0]], dtype=uint64)], dtype=object)
In [304]: my_array['action'].shape
Out[304]: (1,)
In [305]: my_array['action'][0]
Out[305]:
array([[0],
[0]], dtype=uint64)
Чтобы попасть в массив (2,1), вам нужно выбрать поле 'action' и первый (единственный) элемент массива.
In [306]: my_array.dtype
Out[306]: dtype([('index', '<M8[us]'), ('price', 'O'), ('quantity', 'O'), ('id', 'O'), ('timestamp', 'O'), ('customer', 'O'), ('action', 'O')])
Указав dtype типа 'O', вы добавили ссылочный слой. Это дает дополнительную гибкость.
Вы часто используете этот шаблон:
In [313]: np.array([np.zeros(12), np.zeros(12)], dtype='float64')
Out[313]:
array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
In [314]: _.shape
Out[314]: (2, 12)
In [315]: np.zeros((2,12),dtype='float64')
Out[315]:
array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])