code: def test_nans():
      # Assert that SelectKBest and SelectPercentile can handle NaNs.
      # First feature has zero variance to confuse f_classif (ANOVA) and
      # make it return a NaN.
      X = [[0, 1, 0], [0, -1, -1], [0, 0.5, 0.5]]
      y = [1, 0, 1]
  
      for select in (
          SelectKBest(f_classif, k=2),
          SelectPercentile(f_classif, percentile=67),
      ):
          ignore_warnings(select.fit)(X, y)
          assert_array_equal(
              select.get_support(indices=True), np.array([1, 2])
          )
  
imports: import itertools
  import warnings
  import numpy
  import pytest
  from numpy.testing import assert_allclose
  from scipy import sparse, stats
  from sklearn.datasets import load_iris, make_classification, make_regression
  from sklearn.feature_selection import GenericUnivariateSelect, SelectFdr, SelectFpr, SelectFwe, SelectKBest, SelectPercentile, chi2, f_classif, f_oneway, f_regression, mutual_info_classif, mutual_info_regression, r_regression
  from sklearn.utils import safe_mask
  from sklearn.utils._testing import _convert_container, assert_almost_equal, assert_array_almost_equal, assert_array_equal, ignore_warnings
  from sklearn.utils.fixes import CSR_CONTAINERS
label_desc: Use image node_id 30 for calling a global function with example usage: test_nans() without return types