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 次 |
| 最近记录: |