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