code: def _fit_na_fill(self, X):
      for column in self._columns:
          if np.sum(pd.isnull(X[column]) == True) == 0:
              continue
          self._na_fill_params[column] = self._get_fill_value(X[column])
          if (
              PreprocessingUtils.get_type(X[column])
              == PreprocessingUtils.DATETIME
          ):
              self._datetime_columns += [column]
  
file_path: mljar-supervised/supervised/preprocessing/preprocessing_missing.py
imports: import json
  import os
  import numpy
  import pandas
  from supervised.preprocessing.preprocessing_utils import PreprocessingUtils
label_desc: Use image node_id 3 for calling the PreprocessingMissingValues obj's underlying member method code with example usage: obj._fit_na_fill(X) without return types