code: def _scalar_operations(self, axis, scalar, func):
          
          if isinstance(scalar, (list, np.ndarray, pandas.Series)):
              new_index = self.index if axis == 0 else self.columns
  
              def list_like_op(df):
                  if axis == 0:
                      df.index = new_index
                  else:
                      df.columns = new_index
                  return func(df)
  
              new_data = self._map_across_full_axis(
                  axis, self._prepare_method(list_like_op)
              )
              return self.__constructor__(new_data, self.index, self.columns)
          else:
              return self._map_partitions(self._prepare_method(func))
docs: Handler for mapping scalar operations across a Manager.
  
          Args:
              axis: The axis index object to execute the function on.
              scalar: The scalar value to map.
              func: The function to use on the Manager with the scalar.
  
          Returns:
              A new QueryCompiler with updated data and new index.