gpt4 book ai didi

python - 如何测试numpy中的所有行是否相等

转载 作者:太空狗 更新时间:2023-10-29 17:03:29 24 4
gpt4 key购买 nike

在 numpy 中,是否有一种很好的惯用方法来测试二维数组中的所有行是否相等?

我可以做类似的事情

np.all([np.array_equal(M[0], M[i]) for i in xrange(1,len(M))])

这似乎将 python 列表与 numpy 数组混合在一起,这很丑陋,而且可能也很慢。

有更好/更简洁的方法吗?

最佳答案

一种方法是检查数组 arr 的每一行是否等于它的第一行 arr[0]:

(arr == arr[0]).all()

使用相等 == 对整数值很好,但如果 arr 包含浮点值,您可以使用 np.isclose而是在给定的公差范围内检查是否相等:

np.isclose(a, a[0]).all()

如果您的数组包含 NaN 并且您想避免棘手的 NaN != NaN 问题,您可以将此方法与 np.isnan:

(np.isclose(a, a[0]) | np.isnan(a)).all()

关于python - 如何测试numpy中的所有行是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26163727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com