from sklearn.model_selection import train_test_split y = df.pop('output') X = df X_train,X_test,y_train,y_test = train_test_split(X.index,y,test_size=0.2) X.iloc[X_train] # return dataframe train