у меня есть два массива (data
и final
), и я хотел бы сравнить оба массива и возвращают (out
) элемент в data
, которые не находятся в final
эффективно сравнения двух массивов разного размера
данных:
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
финал:
x y z
15.2 17.2 40.2
14.2 14.2 34.2
12.2 12.2 56.2
из:
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
Это то, что я сделал,
out = [np.column_stack(data[k]) for k in range(len(data)) if data[k] not in final]
out = np.vstack(out)
Проблема
Проблема у меня есть, я должен выполнить это действие получать мои out
около 10000 раз (пример только один из 10000), и такая скорость является моей главной задачей.
Есть ли эффективный способ выполнения этого?
@Divakar, то np.ravel_multi_index работает с целыми числами. что, если мои данные имеют тип float64 – user7436576
Сколько столбцов у вас в вашем фактическом случае? – Divakar
@Divakar, у меня есть 3 столбца для 'final' и' data' – user7436576