Равномерно распределенные элементы массивов

Пример. Имеется numpy массив состоящий из 1, 2, 3. Как поделить его на 5 массивов, чтобы частота вхождения 1, 2, 3 в каждый из них была равна или очень близка к частоте появления этих чисел в изначальном массиве?

Т.е. дано a - массив, k - число новых массивов. Нужно вывести k массивов примерно одинаковой длины (отличаются не более чем на 1), которые являются непересекающимися частями исходного массива и которые удовлетворят "частотному" условию.

Как это реализовать?

Моя идея - словарь. Ключ - элемент массива. Значение - число вхождений. А дальше собрать эти k массивов.

А можно ли методами векторизации? Здесь ведь дискретное равномерное распределение. По идее должно быть более лаконичное решение.


Ответы (0 шт):