I zwei Arrays (data
und final
) und ich möchte beide Arrays vergleichen und Rücklauf (out
), um das Element in data
die nicht in final
effektiv den Vergleich von zwei Arrays unterschiedlicher Größe
Daten:
x y z
10.2 15.2 25.2
15.2 17.2 40.2
12.2 13.2 5.2
14.2 14.2 34.2
12.2 12.2 56.2
13.2 17.2 32.2
11.2 13.2 21.2
final:
x y z
15.2 17.2 40.2
14.2 14.2 34.2
12.2 12.2 56.2
aus:
x y z
10.2 15.2 25.2
12.2 13.2 5.2
13.2 17.2 32.2
11.2 13.2 21.2
Dies ist, was ich habe,
getanout = [np.column_stack(data[k]) for k in range(len(data)) if data[k] not in final]
out = np.vstack(out)
Problem
Das Problem, das ich habe ist, dass ich diese Aktion auszuführen habe meine out
etwa 10000 mal zu bekommen (das Beispiel ist nur ein von 10000) und deshalb ist Geschwindigkeit mein Hauptanliegen.
Gibt es eine effiziente Möglichkeit, dies durchzuführen?
@Divakar arbeitet die np.ravel_multi_index mit ganzen Zahlen. Was ist, wenn meine Daten vom Typ float64 sind? – user7436576
Wie viele Spalten haben Sie in Ihrem tatsächlichen Fall? – Divakar
@Divakar, Ich habe 3 Spalten für beide "final" und "data" – user7436576