code: def test_2d_float32(self):
      arr = (
          np.random.default_rng(2)
          .standard_normal((4, 3))
          .astype(np.float32)
      )
      indexer = [0, 2, -1, 1, -1]
  
      # axis=0
      result = algos.take_nd(arr, indexer, axis=0)
  
      expected = arr.take(indexer, axis=0)
      expected[[2, 4], :] = np.nan
      tm.assert_almost_equal(result, expected)
  
      # axis=1
      result = algos.take_nd(arr, indexer, axis=1)
      expected = arr.take(indexer, axis=1)
      expected[:, [2, 4]] = np.nan
      tm.assert_almost_equal(result, expected)
  
imports: from datetime import datetime
  import numpy
  import pytest
  from pandas._libs import iNaT
  import pandas._testing
  import pandas.core.algorithms
label_desc: Use image node_id 8 for calling the TestTake obj's underlying member method code with example usage: obj.test_2d_float32() without return types