python - numpy 条件列表成员元素明智

标签 python numpy numpy-ndarray

我有一个 2D numpy 数组:

a = np.array([[0,1],
              [2,3]])

我有一个要保留的值列表:

vals_keep = [1,2]

我想测试数组中每个元素的列表成员资格。像这样的东西:

mask = a in vals_keep

我想要的结果:

array([[False,  True],
       [True,  False]])

最佳答案

您可以使用 isin

isin is an element-wise function version of the python keyword in

np.isin(a, vals_keep)

array([[False,  True],
       [ True, False]])

isin 的另一个好处是它可以灵活处理不同维度的数组:

a = np.arange(4).reshape(1,2,2,1)
np.isin(a, vals_keep)

array([[[[False],
         [ True]],

        [[ True],
         [False]]]])

关于python - numpy 条件列表成员元素明智,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51070234/

相关文章:

pandas - 值错误: object of too small depth for desired array,

python - 在 Bokeh 中隐藏轴

python - 是否有任何内置函数会阻塞 I/O 而不允许其他线程运行?

Python:迭代数组的行和列

Python。积分问题。类型错误 : only size-1 arrays can be converted to Python scalars

python - 在 numpy 中将数组拼接在一起

python - 用链式掩码替换 numpy 数组元素

python - 在 python 中从现有的谷歌计算引擎连接谷歌数据存储

python - 下载以特殊字符命名的在线 PDF 文件

python - 在python中如何以一定的概率随机替换数组的特定元素?