Wie kann ich überprüfen, ob ein zweidimensionales NumPy-Array ein bestimmtes Wertemuster enthält?
Ich habe ein großesNumPy.array
field_array
und ein kleineres Arraymatch_array
, beide bestehend ausint
Werte. Wie kann ich anhand des folgenden Beispiels überprüfen, ob ein match_array-förmiges Segment vonfield_array
enthält Werte, die genau denen in @ entsprechmatch_array
?
import numpy
raw_field = ( 24, 25, 26, 27, 28, 29, 30, 31, 23, \
33, 34, 35, 36, 37, 38, 39, 40, 32, \
-39, -38, -37, -36, -35, -34, -33, -32, -40, \
-30, -29, -28, -27, -26, -25, -24, -23, -31, \
-21, -20, -19, -18, -17, -16, -15, -14, -22, \
-12, -11, -10, -9, -8, -7, -6, -5, -13, \
-3, -2, -1, 0, 1, 2, 3, 4, -4, \
6, 7, 8, 4, 5, 6, 7, 13, 5, \
15, 16, 17, 8, 9, 10, 11, 22, 14)
field_array = numpy.array(raw_field, int).reshape(9,9)
match_array = numpy.arange(12).reshape(3,4)
Diese Beispiele sollten @ zurückgebTrue
da das von @ beschriebene Mustmatch_array
richtet sich über @ a[6:9,3:7]
.