Полагаю, вы ищете горизонтальный раскол. Если вы хотите разделить данные по индексу p, используйте: df1, df2 = df.iloc [: p] .copy (), df.iloc [p:]. Copy ()
Если вы ищите случайное разделение, вы можете использовать функцию scikit:
sklearn.model_selection.train_test_split