class_docstr: Fill the missing values in continuous columns.
class_docstr_tok: ["Fill","the","missing","values","in","continuous","columns","."]
code: def apply_train(self, df):
      self.na_dict = {}
      self.filler_dict = {}
      for name in self.cont_names:
          if self.fill_strategy == FILL_MEDIAN:
              filler = df[name].median()
          elif self.fill_strategy == FILL_CONSTANT:
              filler = self.fill_val
          else:
              filler = df[name].dropna().value_counts().idxmax()
          self.filler_dict[name] = filler
          if pd.isnull(df[name]).sum():
              if self.add_col:
                  df[name + "_na"] = pd.isnull(df[name])
                  if name + "_na" not in self.cat_names:
                      self.cat_names.append(name + "_na")
              df[name] = df[name].fillna(filler)
              self.na_dict[name] = True
  
imports: from ..None import utils
  from ..imports import *
  from ..preprocessor import Preprocessor
  from numbers import Number
  from types import SimpleNamespace
  from typing import Any, AnyStr, Callable, Collection, Dict, Hashable, Iterator, List, Mapping, NewType, Optional, Sequence, Tuple, TypeVar, Union
  from pandas.api.types import is_categorical_dtype, is_numeric_dtype
label_desc: Use image node_id 2 for calling the FillMissing obj's underlying member method code with example usage: obj.apply_train(df) without return types