Возвращает указатель данных, приведенный к определенному объекту c-типов. Например, вызов#
- coo_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с minlengthA.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])