I would recommend to write a custom Dataset as explained in this tutorial 161 or alternatively, get the data of your pandas DataFrame as numpy arrays, transform them to tensors via torch.from_numpy() and use a TensorDataset.
Once you’ve created a dataset, you can use torch.utils.data.random_split to create different splits.