docs: def devmodel_to_array(model_name, train_fraction=1):
      """
      a standardized method of turning a dev_model object into training and
      testing arrays
  
      Parameters
      ----------
      model_name: dev_model
          the dev_model object to be interrogated
      train_fraction: int
          the fraction to be reserved for training
  
      Returns
      ----------
      X_train: array
          the input training array
      X_test: array
          the input testing array
      Y_train: array
          the output training array
      Y_test: array
          the output testing array
      """
      model_outputs = -6 + model_name.Data_summary.shape[0]
      devmodel = model_name
      rawdf = devmodel.Data
      rawdf = rawdf.sample(frac=1)
      datadf = rawdf.select_dtypes(include=[np.number])
  
      data = np.array(datadf)
  
      n = data.shape[0]
      d = data.shape[1]
      d -= model_outputs
      n_train = int(n * train_fraction)  # set fraction for training
      n_test = n - n_train
  
      X_train = np.zeros((n_train, d))  # prepare train/test arrays
      X_test = np.zeros((n_test, d))
      Y_train = np.zeros((n_train, model_outputs))
      Y_test = np.zeros((n_test, model_outputs))
      X_train[:] = data[:n_train, :-model_outputs]
      Y_train[:] = (data[:n_train, -model_outputs:].astype(float))
      X_test[:] = data[n_train:, :-model_outputs]
      Y_test[:] = (data[n_train:, -model_outputs:].astype(float))
      return X_train, Y_train, X_test, Y_test