Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как заполнить двумерный массив numpy без циклов?

ПрограммированиеData science+3
Анонимный вопрос
Data Science
  · 3,1 K
Пишу код и т.п.  · 6 мая 2022  · itustinov.ru
>>> a = np.zeros((3, 2))
>>> a
array([[0., 0.],
       [0., 0.],
       [0., 0.]])
>>> 
>>> a[:,:] = 5
>>> 
>>> a
array([[5., 5.],
       [5., 5.],
       [5., 5.]])
Также, можно заполнить столбцы или строки из векторов.
m[:, 0] = a
m[:, 1] = b
m[:, 2] = c

m[0, :] = a
m[1, :] = b
m[2, :] = c 
А можно проинициализировать массив уже заполненным с помощью np.full или np.arange.
Я б ещё дописал про то, как данные в вектора получать сразу без циклов, и было бы вообще супер. Поднять сразу... Читать дальше
Инженер путей сообщения – строитель  · 5 мая 2022
Очевидно, что если без циклов, то прямым перебором элементов массива в тексте программы. Ещё и без ветвлений будет. Тупо, но эффективно и вписывается в поставленную задачу. А вообще умные люди придумали циклы как раз, чтобы облегчить себе жизнь, а не усложнять отказом от них.
2 эксперта не согласны
В numpy как раз очень легко заполнять без циклов на Python, и это работает на порядки быстрее.