code: def __iter__(self):
      for group_name, group in self.df_grouped:
          if self.column_sort is not None:
              group = group.sort_values(self.column_sort)
  
          for kind in self.value_columns:
              yield Timeseries(group_name, kind, group[kind])
  
imports: import itertools
  from collections import defaultdict, namedtuple
  from typing import Iterable, Sized
  import pandas
label_desc: Use image node_id 3 for calling the WideTsFrameAdapter obj's underlying member method code with example usage: obj.__iter__() without return types