Cách đơn giản nhất để so sánh hai mảng numpy cho bình đẳng là gì (bình đẳng được định nghĩa là: A = B iff cho tất cả các chỉ số i: A[i] == B[i]
)?So sánh hai mảng numpy cho sự bình đẳng, yếu tố thông minh
Đơn giản chỉ cần sử dụng ==
mang lại cho tôi một mảng boolean:
>>> numpy.array([1,1,1]) == numpy.array([1,1,1])
array([ True, True, True], dtype=bool)
Tôi có phải and
các yếu tố của mảng này để xác định xem các mảng đều bình đẳng, hoặc là có một cách đơn giản hơn để so sánh?
Bạn hầu như luôn luôn muốn 'IME np.array_equal'. '(A == B) .all()' sẽ ** sụp đổ nếu A và B có độ dài khác nhau **. Kể từ 1,10 numpy, [== tăng cảnh báo không dùng nữa trong trường hợp này] (https://github.com/numpy/numpy/commit/6bf0e419dc79ea6815557c57b7e9bb504ba20543). –
Bạn đã có một điểm tốt, nhưng IME tôi thường biết rằng hình dạng của A và B trước khi tay. Tôi đoán nó phụ thuộc vào bối cảnh, và hương vị tôi đoán. –