как преобразовать 2d список в 2d массив numpy?
у меня есть 2D список что-то вроде
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
и я хочу преобразовать его в 2d массив numpy. Можем ли мы сделать это без выделения памяти, как
numpy.zeros((3,3))
а затем хранить значения к нему?
4 ответа:
просто передайте список в
np.array
:a = np.array(a)
вы также можете воспользоваться этой возможностью, чтобы установить
dtype
Если по умолчанию не то, что вы хотите.a = np.array(a, dtype=...)
Я использую большие наборы данных, экспортированные в файл python в виде
XVals1 = [.........] XVals2 = [.........]
каждый список одинаковой длины. Я использую
>>> a1 = np.array(SV.XVals1) >>> a2 = np.array(SV.XVals2)
затем
>>> A = np.matrix([a1,a2])
просто используйте следующий код
c = np.matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) matrix([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
тогда он даст вам
вы можете проверить форму и размер матрицы, используя следующий код
Си.формы
Си.ndim
np.array()
еще более мощным, чем то, что сказал unutbu выше. Вы также можете использовать его для преобразования списка массивов np в массив более высоких размеров, следующий простой пример:aArray=np.array([1,1,1]) bArray=np.array([2,2,2]) aList=[aArray, bArray] xArray=np.array(aList)
форма xArray (2,3), это стандартный массив np. Эта операция позволяет избежать программирования цикла.