Numpy: изменить значение элемента массива, это немного странно - PullRequest
0 голосов
/ 13 апреля 2020

Я создал три массива 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. как я могу изменить значение? Заранее спасибо

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