У меня есть массив numpy с образцами, которые являются результатом эксперимента. Все образцы являются целыми числами, но я не думаю, что это имеет значение. Некоторые значения появляются в массиве несколько раз, а некоторые — сотни раз — массивы могут содержать 10 000 выборок.
Хотя значения выглядят случайными, они имеют минимальный интервал. Я имею в виду, что никакие два значения не могут быть ближе друг к другу, чем, например, 27. Таким образом, вы можете увидеть 50 выборок со значением 999 027 где-то в массиве и вы можете увидеть 120 выборок из 999 054, но вы не увидите ни одной выборки из 999 036. значение в любом месте массива. Мне нужно проверить массив и установить, каков этот минимальный интервал, но очень быстро, если это возможно. Вы можете назвать это «ближайшим расстоянием выборки». Мне не нужно проверять каждый случай, поскольку вы можете себе представить, что просто проверка нескольких образцов, если они близки по значению, дает вам хорошее предположение о том, какова минимальная разница.
У кого-нибудь есть умный алгоритм (с использованием Python), который мог бы довольно быстро найти это ближайшее минимальное расстояние между любыми выборками? Как я уже сказал, массивы могут быть большими, и каждую секунду их нужно проверять многие десятки.
Извините, что это такой странный вопрос. Я надеюсь, что мне удалось объяснить это достаточно хорошо.