Есть ли способ изменить массив с другим массивом? - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь изменить одно измерение массива numpy, используя другой массив.Однако, я получаю довольно неинтуитивные результаты, если не использую цикл for.

state = np.zeros((7, 7, 1))
state2 = np.zeros((7, 7, 1))
sample = np.array([ 1,  2,  0,  1,  2,  1,  0])
b = np.ones((7, 1))
time_index = 0

state[np.arange(state.shape[0]), time_index + sample[:, np.newaxis], 0] += b
for i, s in enumerate(sample):
    state2[i, time_index + s, 0] += b[i]

Я ожидал np.array_equal(state, state2) == True, однако state, похоже, не выполняет то, что я ожидаю.Как бы я воссоздал state2 векторизованным способом?

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