scipy: как узнать количество не всех нулевых строк - PullRequest
0 голосов
/ 01 апреля 2020

Я использую scipy.sparse.dok_matrix для представления матрицы разбора. Цель состоит в том, чтобы определить, сколько строк не все ноль. Например:

M = [[0,0,0],
     [0,1,0],
     [1,1,0]]

равно 2, потому что две строки M[1] и M[2] не равны нулю. Каков, вероятно, лучший способ сделать это?

1 Ответ

0 голосов
/ 01 апреля 2020

Я могу подумать об этом следующим образом:

(M.sum(axis=1) > 0).sum()

Это суммирует элементы в каждой строке и подсчитывает количество ненулевых элементов в результирующем векторе.

РЕДАКТИРОВАТЬ:

Вот альтернативное решение, которое не суммирует ни одного из элементов матрицы, и опирается на собственные функции scipy и Python:

len(set(mat.nonzero()[0]))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...