Сортировка диапазонов чисел, чтобы найти один диапазон, который охватывает значения других, используя python - PullRequest
0 голосов
/ 04 августа 2020

Итак, моя проблема в том, что у меня есть сотни диапазонов от мин. до макс. . Я хочу найти диапазон номеров, в котором находится большинство из них.

Например: 0,5 - 2,5 ; 2 - 3 ; 0,2 - 4 Все эти числа имеют один диапазон, который охватывает все из них. Я хочу найти эти диапазоны, чтобы покрыть большинство разных диапазонов одним. В основном моя программа должна сгруппировать их и разделить на «мастер-диапазоны». Идеальным решением было бы то, что я могу использовать только несколько диапазонов, но могу быть уверен, что охватываю и другие диапазоны.

Если у вас есть идеи или вы можете порекомендовать инструменты, чтобы добраться туда, используя python, я был бы счастлив и благодарен за вашу помощь, так как я новичок в программировании.

1 Ответ

1 голос
/ 04 августа 2020

Если вы ищете только простое графическое c представление, чтобы получить представление о распределении интервалов, вы можете просто использовать график с прозрачными линиями для обозначения повторяющихся интервалов и наоборот.

Например:

import matplotlib.pyplot as plt

intervals = [[0.5, 1.5],
             [2,3],
             [0.2,4]]

for int in intervals:
    plt.plot(int,[0,0], 'b', alpha = 0.2, linewidth = 100)

plt.show()

Получение следующего результата:

введите описание изображения здесь

Четкое указание на то, что интервал 1.5-2 сильно заполнен. Теперь я вижу, что мне не удалось правильно скопировать ваши интервалы, но принцип тот же.

...