In [20]: list_1 = [[np.array([1,2,3]),np.array([4,5,6])]]
Выделите массив dtype объекта нужного размера:
In [27]: arr = np.empty(2, object)
Скопируйте значения из списка в этот массив:
In [28]: arr[:] = list_1[0]
In [29]: arr
Out[29]: array([array([1, 2, 3]), array([4, 5, 6])], dtype=object)
Иногда трансляция вызывает проблемы с копированием такого типаи мне пришлось прибегнуть к более явной итерации:
In [30]: for i in range(2):
...: arr[i] = list_1[0][i]
У вашего list_1
есть дополнительный набор скобок, поэтому необходимо использовать list_1[0]
.
Недавний вопрос, который я связал в комментарии, имеет несколько хороших ответов о том, почему np.array(list_1)
обычно создает 2d (фактически 3d) массив.