#python #arrays #numpy
#python #массивы #numpy
Вопрос:
У меня есть массив:
one = np.array([[1], [0]])
Как arr
можно создать так, чтобы каждый элемент arr
был бы равен one
?
Если я сделаю:
arr = one * 4
Из-за вышеприведенной инструкции broadcasting не дает желаемого поведения.
Комментарии:
1. Какой должна быть форма
arr
? Со списками* 4
выполняется репликация, но с массивами это простое числовое умножение.2. @hpaulj Я принял ответ, он делает именно то, что я хотел
Ответ №1:
Используйте repeat
:
np.repeat(one[np.newaxis, ...], 4, axis=0)
В качестве альтернативы вы можете попробовать broadcast_to
. Это будет быстрее, но доступно только для чтения:
np.broadcast_to(one, (4, *one.shape))