I split the data into the test and training set without using train_test_split
My Function:
def split(X, y):
arr_rand = np.random.rand(X.shape[0])
split = arr_rand < np.percentile(arr_rand, 75)
X_train = X[split]
y_train = y[split]
X_test = X[~split]
y_test = y[~split]
#print (len(X_Train)), (len(y_Train)), (len(X_Test)), (len(y_Test))
return X_train, y_train, X_test, y_test
My problem is, when I output X_train I receive info that it has 76 rows x 8 columns.
However while printing X_test this info is missing. This is how it looks like. My df is a csv file:

I needed to split it for X,y labels which I did with such approach:
X, y = df.iloc[:,0:8], df.iloc[:,8:9]
And later X_train, y_train, X_test, y_test = split(X,y)
This is the output why shape info is missing?

X_test.shape?