提问人:Mohit Lamba 提问时间:1/7/2021 最后编辑:EhsanMohit Lamba 更新时间:1/7/2021 访问量:337
NumPy 中的is_equal运算符
is_equal operator in NumPy
问:
我有两个 NumPy ndarrays 和 .我想检查它们是否相等,就好像.但是,如果我使用运算符,它会返回一个元素列表 或 。我想要一个二进制答案,即如果所有元素在值、类型等方面都相等,那么应该返回一个 else .NumPy中是否有运算符来实现此目的?a
b
a=b.copy()
==
True
False
True
False
答:
1赞
Ehsan
1/7/2021
#1
您正在寻找这个:
np.array_equal(a,b)
或者:
(a==b).all()
此外,根据您的应用程序和数组 dtype,我建议检查一下。np.allclose
np.array_equiv
评论
0赞
Mohit Lamba
2/2/2021
numpy.allclose() 可以是更好的选择吗?
1赞
Ehsan
2/2/2021
@MohitLamba正如我在帖子中提到的,取决于数组中的 dtype。例如,如果你的数组是一个数组,则可以正常工作,但如果是,则是处理浮点精度的更好选择。int
array_equal
float
np.allclose
评论
all()
函数不能达到您的目的有什么原因吗?