Ein Spielzeugkoffer für mein Problem:
Ich habe ein Numpy-Array der Größe, sagen wir, 1000:
import numpy as np
a = np.arange(1000)
Ich habe auch ein "Projektionsfeld". p die eine Abbildung ist von a in ein anderes Array b :
p = np.random.randint(0,1000,(1000,1000))
Es ist leicht zu bekommen b de a mit "ausgefallener Indizierung":
b = a[p]
Aber b ist keine Ansicht, wie aus mehreren früheren Fragen/Antworten und der Numpy-Dokumentation hervorgeht.
Leider sind in meinem Fall nur die Werte in a Änderung im Verlauf einer langen Simulation und Verwendung einer ausgeklügelten Indexierung bei jeder Iteration, um b sehr kostspielig wird. Ich lese nur von b und ändern Sie sie nicht.
Soweit ich weiß, ist es (noch) nicht möglich, dieses Problem mit einer ausgeklügelten Indexierung zu lösen.
Ich habe mich gefragt, ob jemand ein ähnliches Problem/einen ähnlichen Engpass hatte und eine andere Lösung gefunden hat?