Как в центре заданного массива создать набор случайных чисел
import numpy as np
from random import randint
import random
z = np.arange(25).reshape(5, 5)
z[1:-1,1:-1]=np.array([random.random() for i in range(9)]).reshape(3,3)
print(z)
Получил такую схему но почему-то не работает модуль random и все числа в центре одинаковы
Ответы (2 шт):
Автор решения: Виктор
→ Ссылка
Вы же сами написали:
from random import randint
так и используйте
randint(minInt, maxInt)
[[ 0 1 2 3 4]
[ 5 5 2 3 9]
[10 2 3 5 14]
[15 1 1 2 19]
[20 21 22 23 24]]
Полностью:
import numpy as np
from random import randint
z = np.arange(25).reshape(5, 5)
z[1:-1,1:-1]=np.array([randint(0,5) for i in range(9)]).reshape(3,3)
print(z)
Автор решения: Алексей Р
→ Ссылка
import random здесь лишний, как и списковое включение
import numpy as np
z = np.arange(25).reshape(-1, 5) # если один из аргументов отрицательный, то соотв. измерение вычисляется автоматически
z[1:-1, 1:-1] = np.random.randint(0, 5, 9).reshape(3, -1)
print(z)
[[ 0 1 2 3 4]
[ 5 3 4 2 9]
[10 2 3 2 14]
[15 2 1 3 19]
[20 21 22 23 24]]
