code: def _split_num_cat(X, categorical):
      
      Xnum = np.asanyarray(X[:, [ii for ii in range(X.shape[1])
                                 if ii not in categorical]]).astype(np.float64)
      Xcat = np.asanyarray(X[:, categorical])
      return Xnum, Xcat
docs: Extract numerical and categorical columns.
      Convert to numpy arrays, if needed.
  
      :param X: Feature matrix
      :param categorical: Indices of categorical columns