Try to create a TensorDataset passing the data and labels separately:
trainset = torch.utils.data.TensorDataset(
    torch.from_numpy(train_data.as_matrix()),
    torch.from_numpy(train_labels.as_matrix())
)