Я создал три массива com, mask, r1 и I wi sh, чтобы изменить значения элемента в r1 [mask] для следующего теста:
com = np.ones([8,8],dtype = np.int)
np.fill_diagonal(com, 0)
com[0:3,0:3] = 0
replace_rate = 0.1
mask = np.random.choice([0,1],size=(com.shape),p=((1-replace_rate),replace_rate)).astype(np.bool)
r1 = np.random.rand(*com.shape)*np.max(com)
r1[mask][1]= 0.3
print(r1[mask][1])
print(type(r1[mask]))
print(r1[mask],r1.dtype,'r1mask' )
У меня вопрос, почему я не могу присваивать значения элементам r1 [mask] как обычно я получил результат r1 [mask], например:
[0.84356101 0.61487372 0.94783953 0.07359154] float64 r1mask
Где второй элемент не изменяется на 0.3. как я могу изменить значение? Заранее спасибо