scipy.sparse.dia_matrix.
count_nonzero#
- dia_matrix.count_nonzero(axis=None)[源代码]#
- 非零条目的数量,等同于 - np.count_nonzero(a.toarray(), axis=axis) - 与返回存储条目数量(数据属性的长度)的 nnz 属性不同,此方法计算数据中非零条目的实际数量。 - 重复的条目在计数之前会被求和。 - 参数:
- axis{-2, -1, 0, 1, None} 可选
- 计算整个数组的非零值,或沿指定的轴计算。 - 在版本 1.15.0 中添加。 
 
- 返回值:
- numpy 数组
- 一个简化的数组(没有轴 axis),其中包含非轴维度的每个索引的非零值的数量。 
 
 - 注释 - 如果您想计算非零值和显式零存储值(例如 nnz)沿轴的数量, - numpy函数为常见的 CSR、CSC、COO 格式提供了两种快速方法。- 对于 CSR(行)和 CSC(列)中的主轴,使用 np.diff - >>> 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,最小长度为 CSR 的- A.shape[1]和 CSC 的- A.shape[0]- >>> csr_minor_stored_values = np.bincount(A.indices, minlength=A.shape[1]) - 对于 COO,将次轴方法用于任何 axis - >>> 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])