Yes, the difference is the shuffling.
My Dataset looks like this:
class Dataset():

    def __init__(self, Path):
        
        input_values = pd.read_csv(Path, header = 0 , sep=';')
        data = input_values[['position_x','position_y','position_z']].values.tolist()
        target =input_values['req_pos'].values.tolist()

        scaler = StandardScaler()

        self.data = scaler.fit_transform(data)
        self.target =  target
        
    def __len__(self):
        return len(self.data)

    def __getitem__(self, index):
        data=self.data[index]
        target=self.target[index]
        
        values = data, target
        
        return values

I don’t use classes, because I look at a regression based problem. In general I would say all entries are equal, so I don’t think I pass the wrong classes