How to generate a train-test-split based on a group id? How to generate a train-test-split based on a group id? pandas pandas

How to generate a train-test-split based on a group id?


I figured out the answer. This seems to work:

train_inds, test_inds = next(GroupShuffleSplit(test_size=.20, n_splits=2, random_state = 7).split(df, groups=df['Group_Id']))train = df.iloc[train_inds]test = df.iloc[test_inds]