code: def test_create_table_from_dataframe(  # noqa: D
      mf_test_session_state: MetricFlowTestSessionState,
      ddl_sql_client: SqlClientWithDDLMethods,
  ) -> None:
      expected_df = pd.DataFrame(
          columns=[
              "int_col",
              "str_col",
              "float_col",
              "bool_col",
              "time_col",
          ],
          data=[
              (1, "abc", 1.23, False, "2020-01-01"),
              (2, "def", 4.56, True, "2020-01-02"),
              (3, "ghi", 1.1, False, None),  # Test NaT type
              (None, "jkl", None, True, "2020-01-03"),  # Test NaN types
              (
                  3,
                  None,
                  1.2,
                  None,
                  "2020-01-04",
              ),  # Test None types for NA conversions
          ],
      )
      sql_table = SqlTable(
          schema_name=mf_test_session_state.mf_system_schema,
          table_name=_random_table(),
      )
      ddl_sql_client.create_table_from_dataframe(
          sql_table=sql_table, df=expected_df
      )
  
      actual_df = ddl_sql_client.query(f"SELECT * FROM {sql_table.sql}")
      assert_dataframes_equal(
          actual=actual_df,
          expected=expected_df,
          compare_names_using_lowercase=ddl_sql_client.sql_engine_type
          is SqlEngine.SNOWFLAKE,
      )
  
imports: from __future__ import annotations
  import logging
  from typing import Set, Union
  import pandas
  import pytest
  from metricflow.dataflow.sql_table import SqlTable
  from metricflow.protocols.sql_client import SqlClient, SqlEngine
  from metricflow.random_id import random_id
  from metricflow.sql.sql_bind_parameters import SqlBindParameters
  from metricflow.test.compare_df import assert_dataframes_equal
  from metricflow.test.fixtures.setup_fixtures import MetricFlowTestSessionState
  from metricflow.test.fixtures.sql_clients.ddl_sql_client import SqlClientWithDDLMethods
label_desc: Use image node_id 6 for calling a global function with example usage: test_create_table_from_dataframe(mf_test_session_state, ddl_sql_client) without return types