code: def roll(
      self,
      data,
      lookback: int,
      id_index: int,
      target_feature_index: List[int],
  ):
      id_col = data[:, id_index]
      res: List[torch.Tensor] = self._groupby(data, id_col)
      roll_result: List[torch.Tensor] = []
      for group in res:
          roll_result.append(
              self._roll_tensor(group, lookback, target_feature_index)
          )
  
      return torch.cat(roll_result, dim=0)
  
imports: import torch
  import torch.nn
  from typing import List
  from sklearn.preprocessing import StandardScaler, MaxAbsScaler, MinMaxScaler, RobustScaler
  from .utils import _to_list
label_desc: Use image node_id 5 for calling the ExportJIT obj's underlying member method code with example usage: obj.roll(data, lookback, id_index, target_feature_index) and returns: torch