class_docstr: base matrix class for compressed row and column oriented matrices
class_docstr_tok: ["base","matrix","class","for","compressed","row","and","column","oriented","matrices"]
code: def getnnz(self, axis=None):
      if axis is None:
          return int(self.indptr[-1])
      else:
          if axis < 0:
              axis += 2
          axis, _ = self._swap((axis, 1 - axis))
          _, N = self._swap(self.shape)
          if axis == 0:
              return np.bincount(
                  downcast_intp_index(self.indices), minlength=N
              )
          elif axis == 1:
              return np.diff(self.indptr)
          raise ValueError("axis out of bounds")
  
imports: from __future__ import division, print_function, absolute_import
  from warnings import warn
  import operator
  import numpy
  from scipy._lib.six import zip
  from scipy._lib._util import _prune_array
  from .base import spmatrix, isspmatrix, SparseEfficiencyWarning
  from .data import _data_matrix, _minmax_mixin
  from .dia import dia_matrix
  from .None import _sparsetools
  from .sputils import upcast, upcast_char, to_native, isdense, isshape, getdtype, isscalarlike, IndexMixin, get_index_dtype, downcast_intp_index, get_sum_dtype, check_shape, matrix, asmatrix
label_desc: Use image node_id 2 for calling the _cs_matrix obj's underlying member method code with example usage: obj.getnnz(axis) and returns: int, np, np