1
ich mich, wenn es mit einem ohne Iterieren for-Schleife möglich ist, so etwas zu tun:Unterschiedliche Ausgangsindizes für Scheiben in NumPy
a = np.array([[1, 2, 5, 3, 4],
[4, 5, 6, 7, 8]])
cleaver = np.argmax(a == 5, axis=1) # np.array([2, 1])
foo(a, cleaver)
>>> np.array([False, False, True, True, True],
[False, True, True, True, True])
Gibt es eine Möglichkeit, dies durch Aufschneiden zu erreichen oder eine andere nicht- iterative Funktion? Die Arrays, die ich verwende, sind ziemlich groß, und das Iterieren über sie ist Zeile für Zeile unerschwinglich teuer.
cleaver[:,None] <= np.arange(a.shape[1])
Probelauf - -