docstr: Apply the wrapped feature extraction function "f"
  onto the data.
  Before that, turn the data into the correct form of Timeseries instances
  usable the the feature extraction.
  After the call, turn it back into pandas dataframes
  for further processing.
code: def apply(self, f, meta, **kwargs):
      """
      Apply the wrapped feature extraction function "f"
      onto the data.
      Before that, turn the data into the correct form of Timeseries instances
      usable the the feature extraction.
      After the call, turn it back into pandas dataframes
      for further processing.
      """
      bound_function = _binding_helper(
          f,
          kwargs,
          self.column_sort,
          self.column_id,
          self.column_kind,
          self.column_value,
      )
      return self.df.apply(bound_function, meta=meta)
  
imports: import itertools
  from collections import defaultdict, namedtuple
  from typing import Iterable, Sized
  import pandas
label_desc: Use image node_id 2 for calling the DaskTsAdapter obj's underlying member method code with example usage: obj.apply(f, meta) and returns: self