class_docstr: Desc: Data preprocessing,
        Here, e.g.    15 days for training,
                      3 days for validation,
                      and 6 days for testing
code: def __init__(
      self,
      data_path,
      filename="wtb5_10.csv",
      flag="train",
      size=None,
      capacity=134,
      day_len=24 * 6,
      train_days=153,  # 15 days
      val_days=16,  # 3 days
      test_days=15,  # 6 days
      total_days=184,  # 30 days
      theta=0.9,
  ):
      super().__init__()
      self.unit_size = day_len
      if size is None:
          self.input_len = self.unit_size
          self.output_len = self.unit_size
      else:
          self.input_len = size[0]
          self.output_len = size[1]
  
      self.start_col = 0
      self.capacity = capacity
      self.theta = theta
  
      # initialization
      assert flag in ["train", "test", "val"]
      type_map = {"train": 0, "val": 1, "test": 2}
      self.set_type = type_map[flag]
      self.flag = flag
      self.data_path = data_path
      self.filename = filename
  
      self.total_size = self.unit_size * total_days
      self.train_size = train_days * self.unit_size
      self.val_size = val_days * self.unit_size
  
      self.test_size = test_days * self.unit_size
      self.__read_data__()
  
imports: import os
  import time
  import datetime
  import numpy
  import pandas
  import paddle
  from paddle.io import Dataset
  import pgl
  from pgl.utils.logger import log
label_desc: Use image node_id 1 to create a new PGL4WPFDataset object from inherited base classes: Dataset with example: obj = PGL4WPFDataset(data_path, filename, flag, size, capacity, day_len, train_days, val_days, test_days, total_days, theta)