docstr: Function that prepares and loads the new data.
  
  Args:
      df (DataFrame): Dataframe with the features and target
      batch_size (Optional[int], optional): Batch size. Defaults to `self.batch_size`.
      copy_df (bool, optional): Whether to copy the dataframe before processing or not. Defaults to False.
  Returns:
      DataLoader: The dataloader for the passed in dataframe
docstr_tok: ["Function","that","prepares","and","loads","the","new","data",".","Args",":","df","(","DataFrame",")",":","Dataframe","with","the","features","and","target","batch_size","(","Optional","[","int","]",",","optional",")",":","Batch","size",".","Defaults","to","`","self.batch_size","`",".","copy_df","(","bool",",","optional",")",":","Whether","to","copy","the","dataframe","before","processing","or","not",".","Defaults","to","False",".","Returns",":","DataLoader",":","The","dataloader","for","the","passed","in","dataframe"]
code: def prepare_inference_dataloader(
      self,
      df: DataFrame,
      batch_size: Optional[int] = None,
      copy_df: bool = True,
  ) -> DataLoader:
      """Function that prepares and loads the new data.
  
      Args:
          df (DataFrame): Dataframe with the features and target
          batch_size (Optional[int], optional): Batch size. Defaults to `self.batch_size`.
          copy_df (bool, optional): Whether to copy the dataframe before processing or not. Defaults to False.
      Returns:
          DataLoader: The dataloader for the passed in dataframe
      """
      if copy_df:
          df = df.copy()
      df = self._prepare_inference_data(df)
      dataset = TabularDataset(
          task=self.config.task,
          data=df,
          categorical_cols=self.config.categorical_cols,
          continuous_cols=self.config.continuous_cols,
          target=(
              self.target
              if all(col in df.columns for col in self.target)
              else None
          ),
      )
      return DataLoader(
          dataset,
          batch_size or self.batch_size,
          shuffle=False,
          num_workers=self.config.num_workers,
      )
  
imports: import re
  import warnings
  from enum import Enum
  from pathlib import Path
  from typing import Dict, Iterable, List, Optional, Tuple, Union
  import joblib
  import numpy
  import pandas
  import pytorch_lightning
  import torch
  from omegaconf import DictConfig
  from pandas import DataFrame, DatetimeTZDtype, to_datetime
  from pandas.tseries import offsets
  from pandas.tseries.frequencies import to_offset
  from sklearn.base import TransformerMixin, copy
  from sklearn.preprocessing import FunctionTransformer, LabelEncoder, PowerTransformer, QuantileTransformer, StandardScaler
  from torch.utils.data import DataLoader, Dataset
  from pytorch_tabular.config import InferredConfig
  from pytorch_tabular.utils import get_logger
  from .categorical_encoders import OrdinalEncoder
label_desc: Use image node_id 38 for calling the TabularDatamodule obj's underlying member method code with example usage: obj.prepare_inference_dataloader(df, batch_size, copy_df) and returns: DataLoader