NumPy 中的is_equal运算符

is_equal operator in NumPy

提问人:Mohit Lamba 提问时间:1/7/2021 最后编辑:EhsanMohit Lamba 更新时间:1/7/2021 访问量:337

问:

我有两个 NumPy ndarrays 和 .我想检查它们是否相等,就好像.但是,如果我使用运算符,它会返回一个元素列表 或 。我想要一个二进制答案,即如果所有元素在值、类型等方面都相等,那么应该返回一个 else .NumPy中是否有运算符来实现此目的?aba=b.copy()==TrueFalseTrueFalse

python 数组 numpy 相等

评论

3赞 SecretAgentMan 1/7/2021
all() 函数不能达到您的目的有什么原因吗?

答:

1赞 Ehsan 1/7/2021 #1

您正在寻找这个

np.array_equal(a,b)

或者:

(a==b).all()

此外,根据您的应用程序和数组 dtype,我建议检查一下。np.allclosenp.array_equiv

评论

0赞 Mohit Lamba 2/2/2021
numpy.allclose() 可以是更好的选择吗?
1赞 Ehsan 2/2/2021
@MohitLamba正如我在帖子中提到的,取决于数组中的 dtype。例如,如果你的数组是一个数组,则可以正常工作,但如果是,则是处理浮点精度的更好选择。intarray_equalfloatnp.allclose