code: def test_with_numpy_array(self):
      imputer = PerColumnImputer()
  
      X = pd.DataFrame(index=list(range(100)))
  
      X["NaNs"] = np.nan * np.ones(100)
      X["PINF"] = np.PINF * np.ones(100)
      X["NINF"] = np.NINF * np.ones(100)
  
      X_numpy = X.values.copy()
  
      with warnings.catch_warnings(record=True) as w:
          imputer.fit(X)
          self.assertEqual(len(w), 1)
          self.assertEqual(
              "The columns ['NaNs' 'PINF' 'NINF'] did not have any finite values. Filling with zeros.",
              str(w[0].message),
          )
  
      selected_X = imputer.transform(X)
  
      # re-initialize for new dicts
      imputer = PerColumnImputer()
      with warnings.catch_warnings(record=True) as w:
          imputer.fit(X_numpy)
          self.assertEqual(len(w), 1)
          self.assertEqual(
              "The columns [0 1 2] did not have any finite values. Filling with zeros.",
              str(w[0].message),
          )
  
      selected_X_numpy = imputer.transform(X_numpy)
  
      npt.assert_array_equal(selected_X.values, selected_X_numpy.values)
  
      self.assertTrue(selected_X_numpy.shape, (1, 100))
  
imports: import warnings
  from builtins import range
  from unittest import TestCase
  import numpy
  import numpy.testing
  import pandas
  import pandas.testing
  from sklearn.exceptions import NotFittedError
  from tsfresh.transformers.per_column_imputer import PerColumnImputer
label_desc: Use image node_id 4 for calling the PerColumnImputerTestCase obj's underlying member method code with example usage: obj.test_with_numpy_array() without return types