Скажем, у меня есть список из 50 случайных чисел. Я хочу сгруппировать цифры таким образом, чтобы у каждого подмножества было промежуток Min-Max, меньше, чем отсечение 0,05. Ниже мой код. < /P>
import random
def cluster(data, cutoff):
data.sort()
res = []
old_x = -10.
for x in data:
if abs(x - old_x) > cutoff:
res.append([x])
else:
res[-1].append(x)
old_x = x
return res
cutoff = 0.05
data = [random.random() for _ in range(50)]
res = cluster(data, cutoff)
< /code>
Проверьте, есть ли все подмножества имеют пробелы Min-Max меньше, чем отсечение: < /p>
print(all([(max(s) - min(s)) < cutoff for s in res]))
< /code>
output: < /p>
False
< /code>
Очевидно, что мой код не работает. Есть предложения?
Подробнее здесь: https://stackoverflow.com/questions/672 ... h-subset-i
Группирование / кластеризацию списка чисел, так что разрыв Min-Max каждого подмножества всегда был меньше, чем отсечение ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему .max (Integer :: max) и .min (Integer :: min) компилируют на потоке Java 8?
Anonymous » » в форуме JAVA - 0 Ответы
- 120 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему .max (Integer :: max) и .min (Integer :: min) компилируют на потоке Java 8?
Anonymous » » в форуме JAVA - 0 Ответы
- 104 Просмотры
-
Последнее сообщение Anonymous
-