У меня есть 2D-список вроде
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
и я хочу преобразовать его в массив 2d numpy. Можем ли мы сделать это без выделения памяти, например
numpy.zeros((3,3))
а затем сохранить в нем значения?
У меня есть 2D-список вроде
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
и я хочу преобразовать его в массив 2d numpy. Можем ли мы сделать это без выделения памяти, например
numpy.zeros((3,3))
а затем сохранить в нем значения?
Ответы:
Просто передайте список np.array
:
a = np.array(a)
Вы также можете воспользоваться этой возможностью, чтобы установить, dtype
если значение по умолчанию не соответствует вашему желанию.
a = np.array(a, dtype=...)
просто используйте следующий код
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
np.array()
даже мощнее, чем то, что было сказано выше. Вы также можете использовать его для преобразования списка массивов np в массив более высокого размера, следующий простой пример:
aArray=np.array([1,1,1])
bArray=np.array([2,2,2])
aList=[aArray, bArray]
xArray=np.array(aList)
Форма xArray - (2,3), это стандартный массив np. Эта операция позволяет избежать программирования цикла.