code: def _add_partitions_to_dataframe(
      df: "pd.DataFrame", partitions: Dict[str, Any]
  ) -> "pd.DataFrame":
      import pandas as pd
  
      for field, value in partitions.items():
          column = pd.Series(data=[value] * len(df), name=field)
  
          if field in df:
              column = column.astype(df[field].dtype)
              mask = df[field].notna()
              if not df[field][mask].equals(column[mask]):
                  raise ValueError(
                      f"Partition column {field} exists in table data, but partition "
                      f"value '{value}' is different from in-data values: "
                      f"{list(df[field].unique())}."
                  )
  
          df[field] = column
  
      return df
  
imports: import io
  import pathlib
  import posixpath
  import warnings
  from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, Iterator, List, Literal, Optional, Union
  import numpy
  import ray
  from ray._private.utils import _add_creatable_buckets_param_if_s3_uri
  from ray.data._internal.dataset_logger import DatasetLogger
  from ray.data._internal.execution.interfaces import TaskContext
  from ray.data._internal.util import _check_pyarrow_version, _is_local_scheme, call_with_retry, make_async_gen
  from ray.data.block import Block, BlockAccessor
  from ray.data.context import DataContext
  from ray.data.datasource.block_path_provider import BlockWritePathProvider
  from ray.data.datasource.datasource import Datasource, ReadTask, WriteResult
  from ray.data.datasource.file_meta_provider import BaseFileMetadataProvider, DefaultFileMetadataProvider
  from ray.data.datasource.filename_provider import FilenameProvider, _DefaultFilenameProvider
  from ray.data.datasource.partitioning import Partitioning, PathPartitionFilter, PathPartitionParser
  from ray.data.datasource.path_util import _has_file_extension, _resolve_paths_and_filesystem
  from ray.util.annotations import Deprecated, DeveloperAPI, PublicAPI
label_desc: Use image node_id 3 for calling a global function with example usage: _add_partitions_to_dataframe(df, partitions) and returns: df