class_docstr: Adds missing values to a complete dataset.
  
  Attributes
  ----------
  data: np.ndarray
      Matrix of values with no NaN's that you want to add NaN's to.
  thr: float (optional)
      The percentage of null values you want in your dataset, a number
      between 0 and 1.
  
  Methods
  -------
  mcar()
      Overwrite values with MCAR placed NaN's.
  mar()
      Overwrite values with MAR placed NaN's.
  mnar()
      Overwrite values with MNAR placed NaN's.
docstr: Overwrites values with MCAR placed NaN's 
docstr_tok: ["Overwrites","values","with","MCAR","placed","NaN","'s"]
code: def mcar(self):
      """Overwrites values with MCAR placed NaN's"""
      data_1d = self.data.flatten()
      n_total = len(data_1d)
      nan_x = np.random.choice(
          range(n_total), size=int(self.thr * n_total), replace=False
      )
      for x_i in nan_x:
          data_1d[x_i] = np.nan
      output = data_1d.reshape(self.shape)
      return output
  
imports: import numpy
label_desc: Use image node_id 2 for calling the Corruptor obj's underlying member method code with example usage: obj.mcar() and returns: output