2024-09-30 01:21:23 发布
网友
我有个约定:
ndaM = np.array([[1,2,3],[4,5,6],[7,8,9]]);
以及0和1的向量:
如何使用vSet来提取索引在^{中不为零的行和列的子矩阵?在这种情况下,矩阵
vSet
[[5,6],[8,9]]
您可以使用两步切片:
# convert vSet to a boolean array bSet = np.array(vSet).astype(bool) # slice in two steps, rows first, then columns ndaM[bSet][:, bSet] #array([[5, 6], # [8, 9]])
或者使用np.ix_创建索引网格,然后使用它来索引:
下面是一个使用np.ix_一次性切片的解决方案
np.ix_
ndaM[np.ix_(*2*(np.array(vSet, bool),))] # array([[5, 6], # [8, 9]])
或者用更易读的两行
您可以使用两步切片:
或者使用np.ix_创建索引网格,然后使用它来索引:
^{pr2}$下面是一个使用
np.ix_
一次性切片的解决方案或者用更易读的两行
^{pr2}$相关问题 更多 >
编程相关推荐