С вашим кодом есть две проблемы.
Во-первых, при удалении значений NaN из метки Y:
Y=Y[np.isfinite(X[27])] # Remove NAN values from my label Y
вы не делаете то же самое с вашими функциями X; следовательно, вы получите различное количество выборок для ваших функций X и меток Y, и train_test_split
дает ожидаемую ошибку.
Поскольку вы удалили значения NaN из Y, нет смысла сохранять соответствующие строки в вашем X; Итак, вы должны добавить
X=X[np.isfinite(X[27])] # remove rows with NaN labels
Вторая проблема заключается в том, что ваше train_test_split
назначение неверно (проверьте docs ); это должно быть
x_train, x_test, y_train, y_test = train_test_split(X,Y,test_size=0.3)