python - 在列约束下选择 nparray 的某些行

标签 python numpy

我有两个nparrays

A 维度 (60000,784)

B 维度 (60000, 1)

它们都存储整数。

我想创建一个包含 A 行的 nparray,这样 B 的相应行要么是某个数字 X 要么是某个数字 Y。我还想要返回包含 B 的相应行的第二个 nparray。

例子:

A

1 2
3 4
5 6
8 9


B

2
5
6
1

假设我想要 A 的行使得 B 的相应行为 1 或 5。那么返回的第一个 nparray 将如下所示:

3 4
8 9

第二个 nparray 如下:

5
1

nparrays 可以实现这样的功能吗?

提前谢谢你

最佳答案

使用 np.in1d 创建 bool 索引。

A = np.array([[1, 2], [3, 4], [5, 6], [8, 9]])
B = np.array([2,5,6,1])

index = np.in1d(B, [1,5])

print A[index]

print B[index]

关于python - 在列约束下选择 nparray 的某些行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32542878/

相关文章:

python - 如何 reshape tflearn 的输入数据?

python - 如何加入嵌套 Python 字典的值?

python - 如何在没有 Visual Studio 的 Windows 上安装 leptonica+tesseract 以在 Anaconda 中使用?

python - 如何使用 lxml 验证 XSD 架构,但忽略与给定模式匹配的元素?

Python:西里尔字母处理

python - 使用optimize.curve_fit函数的结果不是正确的 float 组

python - 如何为 Matplotlib 表中的特定单元格分配特定颜色?

python - Perfplot bench() raises "TypeError: ufunc ' isfinite' not supported for the input types, and the input types"

csv - 将 numpy 数组转储到神经网络中

python - 使用 numpy 计算距离矩阵的更快方法?