code: def __iter__(self):
      indptr = np.zeros(2, dtype=self.indptr.dtype)
      shape = (1, self.shape[1])
      i0 = 0
      for i1 in self.indptr[1:]:
          indptr[1] = i1 - i0
          indices = self.indices[i0:i1]
          data = self.data[i0:i1]
          yield self.__class__(
              (data, indices, indptr), shape=shape, copy=True
          )
          i0 = i1
  
imports: import numpy
  from ._matrix import spmatrix
  from ._base import _spbase, sparray
  from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, get_csr_submatrix
  from ._sputils import upcast
  from ._compressed import _cs_matrix
label_desc: Use image node_id 7 for calling the _csr_base obj's underlying member method code with example usage: obj.__iter__() without return types