首页 > 解决方案 > 值是否包含在另一个numpy数组中的指示数组?

问题描述

如何编码数组 1 中的哪些项目包含在数组 2 中,并附加一行反映这一点(1 = 包含,0 = 不包含:

import numpy as np
array1 = np.array([1,2,3,4,5,10,12,13])

array2 = np.array([4,6,3,5,0])

预期结果:

np.array([[1,2,3,4,5,10,12,13],
           [0,0,1,1,1,0,0,0]])

标签: pythonnumpy

解决方案


使用np.isin并将结果转换为整数,解决方案在上一个答案中:)

np.vstack([array1, np.isin(array1, array2).view('i1')])
array([[ 1,  2,  3,  4,  5, 10, 12, 13],
       [ 0,  0,  1,  1,  1,  0,  0,  0]])

推荐阅读