code: def test_pandas_to_pyarrow_float16_with_missing():
      if Version(pd.__version__) < Version("1.5.0"):
          pytest.skip("__dataframe__ added to pandas in 1.5.0")
  
      # np.float16 errors if ps.is_nan is used
      # pyarrow.lib.ArrowNotImplementedError: Function 'is_nan' has no kernel
      # matching input types (halffloat)
      np_array = np.array([0, np.nan, 2], dtype=np.float16)
      df = pd.DataFrame({"a": np_array})
  
      with pytest.raises(NotImplementedError):
          pi.from_dataframe(df)
  
imports: from datetime import datetime
  import numpy
  import pyarrow
  from pyarrow.vendored.version import Version
  import pytest
  import pyarrow.interchange
  from pyarrow.interchange.column import _PyArrowColumn, ColumnNullType, DtypeKind
  from pyarrow.interchange.from_dataframe import _from_dataframe
label_desc: Use image node_id 11 for calling a global function with example usage: test_pandas_to_pyarrow_float16_with_missing() without return types