我正在努力实现以下目标:
# Before
raw = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# Set values to 10
indice_set1 = np.array([0, 2, 4])
indice_set2 = np.array([0, 1])
raw[indice_set1][indice_set2] = 10
# Result
print(raw)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
但原始值保持完全相同。
预期结果:
# After
raw = np.array([10, 1, 10, 3, 4, 5, 6, 7, 8, 9])
1条答案
按热度按时间mbyulnm01#
在执行
raw[indice_set1]
之后,您会得到一个new数组,这是您使用第二个切片修改的数组,而不是raw
。而是对切片机进行切片:
修改后的
raw
: