code: def test_from_dataframe_nan_values() -> None:
      # Pandas automatically convert numeric-based columns None to NaN in dataframes
      # Pandas will also automatically convert columns with NaN from integer to floats, since NaN is considered a float
      # https://pandas.pydata.org/pandas-docs/stable/user_guide/integer_na.html
  
      df = pd.DataFrame(
          data={
              "uid": [1, 2, 3, 4],
              "from_uid": [None, 1, 2, 3],
              "a": [1, 2, 3, None],
              "b": [4, 5, None, 6],
          }
      )
      xp = hip.Experiment.from_dataframe(df)
      assert len(xp.datapoints) == 4
      xp.validate()
      xp._asdict()
  
imports: import tempfile
  import shutil
  from contextlib import contextmanager
  from unittest.mock import patch
  import typing
  import pytest
  import pandas
  import optuna
  import hiplot
label_desc: Use image node_id 6 for calling a global function with example usage: test_from_dataframe_nan_values() without return types