code: def pandas_df_with_all_types():
      df = pd.DataFrame(
          {
              "boolean": [True, False, True],
              "integer": np.array([1, 2, 3], np.int32),
              "long": np.array([1, 2, 3], np.int64),
              "float": np.array(
                  [math.pi, 2 * math.pi, 3 * math.pi], np.float32
              ),
              "double": [math.pi, 2 * math.pi, 3 * math.pi],
              "binary": [
                  bytearray([1, 2, 3]),
                  bytearray([4, 5, 6]),
                  bytearray([7, 8, 9]),
              ],
              "string": ["a", "b", "c"],
              "datetime": [
                  np.datetime64("2021-01-01"),
                  np.datetime64("2021-02-02"),
                  np.datetime64("2021-03-03"),
              ],
              "boolean_ext": [True, False, True],
              "integer_ext": [1, 2, 3],
              "string_ext": ["a", "b", "c"],
          }
      )
      df["boolean_ext"] = df["boolean_ext"].astype("boolean")
      df["integer_ext"] = df["integer_ext"].astype("Int64")
      df["string_ext"] = df["string_ext"].astype("string")
      return df
  
imports: import datetime
  import json
  import math
  import re
  import numpy
  import pandas
  import pyspark
  import pyspark.sql.types
  import pytest
  from scipy.sparse import csc_matrix, csr_matrix
  from mlflow.exceptions import MlflowException
  from mlflow.models.utils import _enforce_tensor_spec
  from mlflow.pyfunc import _parse_spark_datatype
  from mlflow.types import DataType
  from mlflow.types.schema import Array, ColSpec, Object, ParamSchema, ParamSpec, Property, Schema, TensorSpec
  from mlflow.types.utils import _get_tensor_shape, _infer_colspec_type, _infer_param_schema, _infer_schema, _validate_input_dictionary_contains_only_strings_and_lists_of_strings
label_desc: Use image node_id 4 for calling a global function with example usage: pandas_df_with_all_types() and returns: df