Просто передайте список списков на numpy.array
, имейте в виду, что numpy-массивы равны ndarrays
, поэтому концепция списка списков не переводится в массивы массивов, а в 2d-массив.
>>> import numpy as np
>>> a = [[1., 2., 3.], [4., 5., 6.]]
>>> b = np.array(a)
>>> b
array([[ 1., 2., 3.],
[ 4., 5., 6.]])
>>> b.shape
(2, 3)
Также у ndarrays есть nd-indexing, поэтому [1][1]
становится [1, 1]
в numpy:
>>> a[1][1]
5.0
>>> b[1, 1]
5.0
Я неправильно понял ваш вопрос?
Вы демонстративно не делаетехочу использовать numpy.append
для чего-то подобного.Имейте в виду, что numpy.append имеет время выполнения O (n), поэтому, если вы вызовете его n раз, один раз для каждой строки вашего массива, вы получите алгоритм O (n ^ 2).Если вам нужно создать массив до того, как вы узнаете, каким будет весь контент, но вы знаете окончательный размер, лучше создать массив с помощью numpy.zeros(shape, dtype)
и заполнить его позже.Аналогично ответу Свена.