我想用numpy复制一个数组的一部分并将其保存到另一个数组中。问题是,每行条目的数量和位置都会改变。我有两个数组,其中包含我想获取的那部分行的开始索引和结束索引,但切片不会接受数组。
我试过:
import numpy as np
a = np.arange(25).reshape(5,5)
min_idx = np.array(
[0, 1, 2, 1, 0]
)
max_idx = np.array(
[4, 3, 3, 2, 2]
)
b = np.zeros_like(a)
b[:, min_idx:max_idx] = a[:,min_idx:max_idx]
并且对于B来说想要有:
target_b = np.array([
[0, 1, 2, 3, 4],
[0, 6, 7, 8, 0],
[0, 0, 12, 13, 0],
[0, 16, 17, 0, 0],
[20, 21, 22, 0, 0]
]
)
1条答案
按热度按时间jtw3ybtb1#
使用广播和遮罩:
b
: