code: def test_analytics_dataframe():
      test_artifacts = [
          artifact("artifact-1"),
          artifact("artifact-2"),
      ]
      with mock.patch.object(
          Artifact, "list", return_value=test_artifacts
      ):
          analytics = ArtifactAnalytics()
          actual_dataframe = analytics.dataframe()
  
      expected_dataframe = pd.DataFrame.from_dict(
          OrderedDict(
              [
                  ("ArtifactName", ["artifact-1", "artifact-2"]),
                  ("ArtifactArn", ["artifact-1-arn", "artifact-2-arn"]),
                  ("ArtifactType", ["UnitTestType", "UnitTestType"]),
                  (
                      "ArtifactSourceUri",
                      ["some-source-uri", "some-source-uri"],
                  ),
                  ("CreationTime", ["creation-time", "creation-time"]),
                  (
                      "LastModifiedTime",
                      ["last-modified-time", "last-modified-time"],
                  ),
              ]
          )
      )
  
      pd.testing.assert_frame_equal(
          expected_dataframe, actual_dataframe
      )
  
file_path: sagemaker-python-sdk/tests/unit/test_artifact_analytics.py
imports: from __future__ import absolute_import
  import mock
  import pandas
  from collections import OrderedDict
  from sagemaker.lineage.artifact import Artifact
  from sagemaker.lineage._api_types import ArtifactSource
  from sagemaker.analytics import ArtifactAnalytics
label_desc: Use image node_id 2 for calling a global function with example usage: test_analytics_dataframe() without return types