Получение всего значения, которое является максимальным появлением каждой строки numpy ⇐ Python
Получение всего значения, которое является максимальным появлением каждой строки numpy
Как собрать все значения, которые повторяются чаще всего в каждой строке массива numpy, например результат np.unique.
Однако я хочу избежать циклов, поскольку обрабатываемые данные будут намного больше (гораздо больше строк).
См. пример ниже
Ввод: a — это двумерный массив, имеющий форму (x, k), где x будет очень большим.< бр /> a = np.asarray([[2, 7, 7, 2, 1], [1, 2, 3, 5, 5], [6, 6, 6, 6, 6]])
Идеальный результат: [[2,7], [5], [6]], в первой строке [2,7] оба существуют в 2 раза< /п> Использование циклов почти справляется с этой задачей, но np.unique, похоже, не работает одинаково для многомерных массивов
[np.array(np.unique(i, return_counts=1)) для i в a] # достойный результат > [массив([[1, 2, 7],[1, 2, 2]], dtype=int64), массив([[1, 2, 3, 5], [1, 1, 1, 2]], dtype=int64), массив([[6], [5]], dtype=int64)] # Многомерный ввод np.unique(a, return_counts=1, ось=1) # Бесполезный вывод > (массив([[1, 2, 2, 7, 7], [5, 1, 5, 2, 3], [6, 6, 6, 6, 6]]), массив([1, 1, 1, 1, 1], dtype=int64))
Как собрать все значения, которые повторяются чаще всего в каждой строке массива numpy, например результат np.unique.
Однако я хочу избежать циклов, поскольку обрабатываемые данные будут намного больше (гораздо больше строк).
См. пример ниже
Ввод: a — это двумерный массив, имеющий форму (x, k), где x будет очень большим.< бр /> a = np.asarray([[2, 7, 7, 2, 1], [1, 2, 3, 5, 5], [6, 6, 6, 6, 6]])
Идеальный результат: [[2,7], [5], [6]], в первой строке [2,7] оба существуют в 2 раза< /п> Использование циклов почти справляется с этой задачей, но np.unique, похоже, не работает одинаково для многомерных массивов
[np.array(np.unique(i, return_counts=1)) для i в a] # достойный результат > [массив([[1, 2, 7],[1, 2, 2]], dtype=int64), массив([[1, 2, 3, 5], [1, 1, 1, 2]], dtype=int64), массив([[6], [5]], dtype=int64)] # Многомерный ввод np.unique(a, return_counts=1, ось=1) # Бесполезный вывод > (массив([[1, 2, 2, 7, 7], [5, 1, 5, 2, 3], [6, 6, 6, 6, 6]]), массив([1, 1, 1, 1, 1], dtype=int64))
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение