class_docstr: Dictionary with InputData as values and primary node names as keys 
class_docstr_tok: ["Dictionary","with","InputData","as","values","and","primary","node","names","as","keys"]
docstr: Import multimodal data from ``csv``.
  
  Args:
      file_path: the path to the ``CSV`` with data.
      delimiter: the delimiter to separate the columns.
      task: the :obj:`Task` to solve with the data.
      is_predict: indicator of stage to prepare the data to. ``False`` means fit, ``True`` means predict.
      columns_to_use: ``list`` with names of columns of different variant of the same variable.
      target_column: ``string`` with name of target column, used for predict stage.
      index_col: name or index of the column to use as the :obj:`Data.idx`.
  
          If ``None``, then check the first column's name and use it as index if succeeded
          (see the param ``possible_idx_keywords``).
  
          Set ``False`` to skip the check and rearrange a new integer index.
      possible_idx_keywords: lowercase keys to find. If the first data column contains one of the keys,
          it is used as index. See the :const:`POSSIBLE_TS_IDX_KEYWORDS` for the list of default
          keywords.
  
  Returns:
      An instance of :class:`MultiModalData` multiple time series data sources as :class:`InputData` instances.
docstr_tok: ["Import","multimodal","data","from","``","csv","``",".","Args",":","file_path",":","the","path","to","the","``","CSV","``","with","data",".","delimiter",":","the","delimiter","to","separate","the","columns",".","task",":","the",":","obj",":","`","Task","`","to","solve","with","the","data",".","is_predict",":","indicator","of","stage","to","prepare","the","data","to",".","``","False","``","means","fit",",","``","True","``","means","predict",".","columns_to_use",":","``","list","``","with","names","of","columns","of","different","variant","of","the","same","variable",".","target_column",":","``","string","``","with","name","of","target","column",",","used","for","predict","stage",".","index_col",":","name","or","index","of","the","column","to","use","as","the",":","obj",":","`","Data.idx","`",".","If","``","None","``",",","then","check","the","first","column","'s","name","and","use","it","as","index","if","succeeded","(","see","the","param","``","possible_idx_keywords","``",")",".","Set","``","False","``","to","skip","the","check","and","rearrange","a","new","integer","index",".","possible_idx_keywords",":","lowercase","keys","to","find",".","If","the","first","data","column","contains","one","of","the","keys",",","it","is","used","as","index",".","See","the",":","const",":","`","POSSIBLE_TS_IDX_KEYWORDS","`","for","the","list","of","default","keywords",".","Returns",":","An","instance","of",":","class",":","`","MultiModalData","`","multiple","time","series","data","sources","as",":","class",":","`","InputData","`","instances","."]
code: def from_csv_time_series(
      cls,
      file_path: PathType,
      delimiter: str = ",",
      task: Union[Task, str] = "ts_forecasting",
      is_predict: bool = False,
      columns_to_use: Optional[list] = None,
      target_column: Optional[str] = "",
      index_col: Optional[Union[str, int]] = None,
      possible_idx_keywords: Optional[List[str]] = None,
  ) -> MultiModalData:
      """Import multimodal data from ``csv``.
  
      Args:
          file_path: the path to the ``CSV`` with data.
          delimiter: the delimiter to separate the columns.
          task: the :obj:`Task` to solve with the data.
          is_predict: indicator of stage to prepare the data to. ``False`` means fit, ``True`` means predict.
          columns_to_use: ``list`` with names of columns of different variant of the same variable.
          target_column: ``string`` with name of target column, used for predict stage.
          index_col: name or index of the column to use as the :obj:`Data.idx`.\n
              If ``None``, then check the first column's name and use it as index if succeeded
              (see the param ``possible_idx_keywords``).\n
              Set ``False`` to skip the check and rearrange a new integer index.
          possible_idx_keywords: lowercase keys to find. If the first data column contains one of the keys,
              it is used as index. See the :const:`POSSIBLE_TS_IDX_KEYWORDS` for the list of default
              keywords.
  
      Returns:
          An instance of :class:`MultiModalData` multiple time series data sources as :class:`InputData` instances.
      """
  
      possible_idx_keywords = (
          possible_idx_keywords or POSSIBLE_TS_IDX_KEYWORDS
      )
      if isinstance(task, str):
          task = Task(TaskTypesEnum(task))
  
      df = get_df_from_csv(
          file_path,
          delimiter,
          index_col,
          possible_idx_keywords,
          columns_to_use=columns_to_use,
      )
      idx = df.index.to_numpy()
      if not columns_to_use:
          columns_to_use = sorted(list(set(df.columns) - {index_col}))
  
      if is_predict:
          raise NotImplementedError(
              "Multivariate predict not supported in this function yet."
          )
  
      ts_data_detector = TimeSeriesDataDetector()
      data = ts_data_detector.prepare_multimodal_data(
          dataframe=df, columns=columns_to_use
      )
  
      if target_column is not None:
          target = np.array(df[target_column])
      else:
          target = np.array(df[df.columns[-1]])
  
      # create labels for data sources
      data_part_transformation_func = partial(
          array_to_input_data,
          idx=idx,
          target_array=target,
          task=task,
          data_type=DataTypesEnum.ts,
      )
  
      sources = dict(
          (
              ts_data_detector.new_key_name(data_part_key),
              data_part_transformation_func(features_array=data_part),
          )
          for (data_part_key, data_part) in data.items()
      )
      multi_modal_data = MultiModalData(sources)
  
      return multi_modal_data
  
imports: from __future__ import annotations
  from functools import partial
  from typing import List, Optional, Union, Dict
  import numpy
  from fedot.core.data.data import InputData
  from fedot.core.data.data import process_target_and_features, array_to_input_data, get_df_from_csv, PathType, POSSIBLE_TABULAR_IDX_KEYWORDS, POSSIBLE_TS_IDX_KEYWORDS
  from fedot.core.data.data_detection import TextDataDetector, TimeSeriesDataDetector
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum
label_desc: Use image node_id 15 for calling the MultiModalData obj's underlying member method code with example usage: obj.from_csv_time_series(cls, file_path, delimiter, task, is_predict, columns_to_use, target_column, index_col, possible_idx_keywords) and returns: multi_modal_data