code: def mean_variance_axis(X, axis):
      """Compute mean and variance along an axix on a CSR or CSC matrix
  
      Parameters
      ----------
      X : CSR or CSC sparse matrix, shape (n_samples, n_features)
          Input data.
  
      axis : int (either 0 or 1)
          Axis along which the axis should be computed.
  
      Returns
      -------
  
      means : float array with shape (n_features,)
          Feature-wise means
  
      variances : float array with shape (n_features,)
          Feature-wise variances
  
      """
      _raise_error_wrong_axis(axis)
  
      if iscsr(X):
          if axis == 0:
              return _csr_mean_var_axis0(X)
          else:
              return _csc_mean_var_axis0(X.T)
      elif iscsc(X):
          if axis == 0:
              return _csc_mean_var_axis0(X)
          else:
              return _csr_mean_var_axis0(X.T)
      else:
          _raise_typeerror(X)
  
file_path: cuml/python/cuml/_thirdparty/sklearn/utils/sparsefuncs.py
imports: from ....thirdparty_adapters.sparsefuncs_fast import csr_mean_variance_axis0, csc_mean_variance_axis0
  from cuml.internals.safe_imports import cpu_only_import
  from cuml.internals.safe_imports import gpu_only_import
  from cuml.internals.safe_imports import gpu_only_import_from
  from cuml.internals.safe_imports import cpu_only_import_from
label_desc: Use image node_id 9 for calling a global function with example usage: mean_variance_axis(X, axis) and returns: _csr_mean_var_axis0, _csc_mean_var_axis0, _csc_mean_var_axis0, _csr_mean_var_axis0