如果您真的关心内存使用(例如,具有非常大的数组),则应使用numexpr,以下表达式将为您工作:
np.all(numexpr.evaluate('(a==b)|((a!=a)&(b!=b))'))我已经在长度为3e8的大型数组上对其进行了测试,并且该代码在我的计算机上具有与以下相同的性能
np.all(a==b)
并使用相同数量的内存

如果您真的关心内存使用(例如,具有非常大的数组),则应使用numexpr,以下表达式将为您工作:
np.all(numexpr.evaluate('(a==b)|((a!=a)&(b!=b))'))我已经在长度为3e8的大型数组上对其进行了测试,并且该代码在我的计算机上具有与以下相同的性能
np.all(a==b)
并使用相同数量的内存