Ich habe ein scheinbar einfaches Problem, das ich nicht lösen kann, ohne eine Schleife zu machen. (I mit sehr großen Arrays zu tun habe)Ersetzen von Werten in einem Array/Liste nach Index eines anderen Arrays/Liste
Lets der Einfachheit halber sagen, dass ich eine sortierte Array und eine unsortierte Array von einer anderen Dimension wie: x = np.array ([511512513]) und y = np.array ([512,512,513,511,511]). Ich möchte eine schnelle Funktion, die y durch die Indexpositionen ersetzt, die im sortierten min bis max Array x angegeben sind. Antwort sollte ausgegeben werden = np.array ([1,1,2,0,0])
Ich würde gerne in der Lage sein, dies in ein oder zwei Schritten zu tun. Jede Hilfe wäre dankbar, danke
sortierten Array konvertieren, so dass der Index der Wert und Wert ist die Position. d. h. '[511 => 0, 512 => 1, 513 => 2]' Das Nachschlagen aus dem unsortierten Array erfolgt schnell, wenn Sie im 'sortierten Array' nach Schlüssel suchen. –
Danke das hat funktioniert. Das habe ich benutzt: dictionary = dict (zip (x, z)) wobei z das Indexarray [0,1,2] war. Dann ein Listenverständnis l = [dicitonary [i] für i in unsortierter Liste]. Mucho schnell. – Canuck