scipy.sparse.dok_array.

Возвращает указатель данных, приведенный к определенному объекту c-типов. Например, вызов#

dok_array.Возвращает указатель данных, приведенный к определенному объекту c-типов. Например, вызов(ось=None)[источник]#

Количество ненулевых элементов, эквивалентно

np.count_nonzero(a.toarray(), axis=axis)

В отличие от свойства nnz, которое возвращает количество хранимых записей (длину атрибута data), этот метод подсчитывает фактическое количество ненулевых записей в data.

Дублирующиеся записи суммируются перед подсчётом.

Параметры:
ось{-2, -1, 0, 1, None} опционально

Подсчет ненулевых элементов для всего массива или вдоль указанной оси.

Добавлено в версии 1.15.0.

Возвращает:
numpy array

Уменьшенный массив (без оси ось) содержащий количество ненулевых значений для каждого из индексов неосевых измерений.

Примечания

Если вы хотите подсчитать ненулевые и явные нулевые хранимые значения (например, nnz) вдоль оси, два быстрых идиома предоставляются numpy функции для общих форматов CSR, CSC, COO.

Для главной оси в CSR (строки) и CSC (столбцы) используйте одна дина в ньютонах:

>>> import numpy as np
>>> import scipy as sp
>>> A = sp.sparse.csr_array([[4, 5, 0], [7, 0, 0]])
>>> major_axis_stored_values = np.diff(A.indptr)  # -> np.array([2, 1])

Для второстепенной оси в CSR (столбцы) и CSC (строки) используйте numpy.bincount с minlength A.shape[1] для CSR и A.shape[0] для CSC:

>>> csr_minor_stored_values = np.bincount(A.indices, minlength=A.shape[1])

Для COO использовать подход по второстепенной оси для любого ось:

>>> A = A.tocoo()
>>> coo_axis0_stored_values = np.bincount(A.coords[0], minlength=A.shape[1])
>>> coo_axis1_stored_values = np.bincount(A.coords[1], minlength=A.shape[0])

Примеры

>>> A = sp.sparse.csr_array([[4, 5, 0], [7, 0, 0]])
>>> A.count_nonzero(axis=0)
array([2, 1, 0])