也许这个问题已经在其他地方被提出并解决了,但我没有找到。假设我们有一个numpy数组:
我在想是否有更好的方法来处理这个问题,而不是明确地使用
a = np.arange(100).reshape(10,10)
b = np.zeros(a.shape)
start = np.array([1,4,7]) # can be arbitrary but valid values
end = np.array([3,6,9]) # can be arbitrary but valid values
start
和end
都有有效的值,使得每个切片对于a
也是有效的。我想将a
中子数组的值复制到b
中相应的位置:
b[:, start:end] = a[:, start:end] #error
这个语法无效,但它等价于:
b[:, start[0]:end[0]] = a[:, start[0]:end[0]]
b[:, start[1]:end[1]] = a[:, start[1]:end[1]]
b[:, start[2]:end[2]] = a[:, start[2]:end[2]]
我在想是否有更好的方法来处理这个问题,而不是明确地使用
start
和 end
数组进行for循环。谢谢!