ede*_*esz 2 python arrays numpy python-2.7
我想检查数组是否是数组b
的子集a
。子集我的意思是我想检查是否b
在a
.
这是我的代码:
import numpy as np
a = np.array([[1,7,9],[8,3,12],[101,-74,0.5]])
b = np.array([[1,9],[8,12],[101,0.5]])
print a
print b
Run Code Online (Sandbox Code Playgroud)
这是输出
数组 a
[[ 1. 7. 9. ]
[ 8. 3. 12. ]
[ 101. -74. 0.5]]
Run Code Online (Sandbox Code Playgroud)
数组 b
[[ 1. 9. ]
[ 8. 12. ]
[ 101. 0.5]]
Run Code Online (Sandbox Code Playgroud)
有没有办法检查 b 是否是 a 的子集?
编辑:附加信息:
根据下面的评论,我应该澄清一下,我需要知道数组 b 是否是数组 a 的子集 - 如果子集中缺少一个元素,那么我正在寻找一种方法来检查这一点。我不需要指示元素在子集中的哪个位置丢失,而只是知道它丢失了。如果可以提供有关缺失元素的其他信息,那么这将是一个奖励,但这不是硬性要求。很抱歉没有早点解决这个问题。
我将问题表述为子集的理由是,如果一个数组是另一个数组的子集,那么这对我来说意味着子集数组的所有值都存在于更大的数组中。
我想你想要numpy.in1d
,像这样:
import numpy as np
a = np.array([[1,7,9],[8,3,12],[101,-74,0.5]])
b = np.array([[1,9],[8,12],[101,0.5]])
np.in1d(b.ravel(), a.ravel()).all()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1858 次 |
最近记录: |