python - 按值屏蔽数组,然后屏蔽相应的矩阵

标签 python numpy

我有一个 numpy 数组 y [1,2,3,4,5,6,1,2,3,4,5,6]

然后我有一个 numpy csr 格式的矩阵 X。

1) 我需要屏蔽 y 中的元素 6。然后,我需要屏蔽 X 中的相应行。

所以,y.shape 是 12。应该是 10。X 是 12,20。应该是 10,20。

如何在 numpy 中执行此操作

最佳答案

如果您的“屏蔽”输出 y 应小于您的输入,则说明您并未真正使用屏蔽。

按照您的 previous question 中的建议,您确实可以轻松找到 y 与 6 不同的索引

condition = (y != 6)

这是一个 bool 数组,您可以使用它来检索不为 6 的 y

y = y[condition]

您可以使用相同的条件来获取X的相应行,但它是CSR,因此不支持花哨的索引格式。您仍然可以将其转换为 LIL,然后再转换回来。

您还可以获得 y !=6 的索引

(indices,) = np.nonzero(y != 6)

它是一个常规整数数组,可用于索引 X

关于python - 按值屏蔽数组,然后屏蔽相应的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389033/

相关文章:

python - 如何对 Pandas 数据透视表进行排序,但将总数保留在表的末尾

Python 3.5 无效签名 |辣椒机器人

python - 为什么这个函数在 JAX 和 numpy 中变慢?

python - 处理复数和numpy时如何在python中正确指定dtype?

python - 在二维数组上映射 numpy 的 `in1d`

python - 如何从元组列表中删除重复项但保持原始顺序

java - 如何在 Java 中为 TensorFlow DNNRegressor 提供输入?

Python - 需要类似字节的对象,而不是 'str'

python - 在 Numpy/Python 中快速稀疏矩阵

python - 数组切片 : access first two elements in reverse order running for loop