как конвертировать 2d список в 2d массив Numpy? - PullRequest
66 голосов
/ 10 октября 2011

У меня есть 2D-список что-то вроде

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

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

numpy.zeros((3,3))

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

Ответы [ 4 ]

71 голосов
/ 10 октября 2011

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

a = np.array(a)

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

a = np.array(a, dtype=...)
2 голосов
/ 11 сентября 2017

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

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

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

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

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

Тогда

>>> A = np.matrix([a1,a2])
1 голос
/ 02 ноября 2017

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

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

1 голос
/ 02 ноября 2017

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. Эта операция позволяет избежать циклического программирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...