Bei zwei Arrays der Arrays A und B muss ich die Gleichheit jedes Subarrays von A (ai) zu seinem entsprechenden Subarray in B (bi) testen:
import numpy as np
a1 = np.array([1, 2, 3])
a2 = np.array([3, 4, 5])
a3 = np.array([2, 4, 6])
A = np.array([a1, a2, a3])
b1 = np.array([3, 2, 1])
b2 = np.array([3, 4, 5])
b3 = np.array([6, 4, 2])
B = np.array([b1, b2, b3])
def compare_arrays(A, B):
#ret = A == B
#ret = np.array_equal(A, B)
return ret
print(compare_arrays(A, B))
Es überrascht nicht, dass die Ausgabe, mit der ich komme A == B
: [[False True False][ True True True][False True False]]
.
Es überrascht nicht, dass die Ausgabe, mit der ich komme np.array_equal(A, B)
: False
.
Die Ausgabe, die ich erhalten möchte : [[False, True, False]]
.
Ich würde gerne wissen, ob es eine Standardlösung gibt, die ich nicht gefunden habe, oder ob ich meine eigene implementieren sollte.
Sie können logisch und Ergebnisse entlang der Achse = 1 von A == B erhalten.
def compare_arrays(A, B):
ret = np.equal(A, B).all(axis=1)
return ret
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen