Подтвердить что ты не робот

Как преобразовать 2d-список в массив 2d numpy?

У меня есть 2D-список, похожий на

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 

и я хочу преобразовать его в массив 2d numpy. Можем ли мы это сделать, не выделяя память, например

numpy.zeros((3,3))

а затем сохранить в нем значения?

4b9b3361

Ответ 1

Просто передайте список np.array:

a = np.array(a)

Вы также можете воспользоваться этой возможностью, чтобы установить dtype, если по умолчанию это не то, что вы хотите.

a = np.array(a, dtype=...)

Ответ 2

Я использую большие наборы данных, экспортированные в файл python в форме

XVals1 = [.........] 
XVals2 = [.........] 

Каждый список имеет одинаковую длину. Я использую

>>> a1 = np.array(SV.XVals1)

>>> a2 = np.array(SV.XVals2)

Тогда

>>> A = np.matrix([a1,a2])

Ответ 3

просто используйте следующий код

c = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
matrix([[1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]])

Затем он даст вам

вы можете проверить форму и размер матрицы, используя следующий код

c.shape

c.ndim

Ответ 4

np.array() является еще более мощным, чем то, что сказал unutbu выше. Вы также можете использовать его для преобразования списка массивов np в массив с более высоким размером, следующий пример:

aArray=np.array([1,1,1])

bArray=np.array([2,2,2])

aList=[aArray, bArray]

xArray=np.array(aList)

xArray shape (2,3), это стандартный np-массив. Эта операция позволяет избежать программирования цикла.