питон: группировка по частоте встречаемости - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть метки и их частоты (то есть, сколько раз они повторяются) для набора данных.

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

Например: предположим, что a повторяется 10 раз, b 9раз, c 6 раз, d 5 раз, e 2 раза Итак, я хочу, чтобы b попали в одну группу, c и d в одну группу и e в другую группу.

1 Ответ

0 голосов
/ 04 ноября 2019

Вы можете использовать следующую функцию для группировки на основе количества.

def group_labels(cnts): 
  d = {} 
  for k, v in cnts.items(): 
    d.setdefault(v, []).append(k)
  return sorted(d.values(), key=lambda x: x[0]) # sorted by first label

Пример

cnts = {'a': 4, 'b': 15, 'c':4, 'd':16, 'e':1, 'f':16}
print(group_labels(cnts))
[['a', 'c'], ['b'], ['d', 'f'], ['e']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...