我正在尝试使用另一个数组修改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
?