gpt4 book ai didi

python - 使用 boolean 向量提取 ndarray 的子数组

转载 作者:行者123 更新时间:2023-11-30 22:39:43 25 4
gpt4 key购买 nike

我有一个 ndarray:

ndaM = np.array([[1,2,3],[4,5,6],[7,8,9]]);

以及一个由 0 和 1 组成的向量:

vSet = [0,1,1];

如何使用vSet提取仅包含vSet中索引非零的行和列的子矩阵?在这种情况下,矩阵

[[5,6],[8,9]]

最佳答案

这是一种使用np.ix_一次性切片的解决方案

ndaM[np.ix_(*2*(np.array(vSet, bool),))]
# array([[5, 6],
# [8, 9]])

或者更容易阅读的两行

mask = np.array(vSet, bool)
ndaM[np.ix_(mask, mask)]

关于python - 使用 boolean 向量提取 ndarray 的子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43060241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com