docstr: The result of the shuffle split are typically small dictionaries
  (#keys << 100; typically <= 32) The splits are often non-uniformly
  distributed. Some of the splits may even be empty. Sampling the
  dictionary for size estimation can cause severe errors.
  
  See also https://github.com/dask/distributed/issues/4962
docstr_tok: ["The","result","of","the","shuffle","split","are","typically","small","dictionaries","(","#","keys","<","<","100",";","typically","<","=","32",")","The","splits","are","often","non-uniformly","distributed",".","Some","of","the","splits","may","even","be","empty",".","Sampling","the","dictionary","for","size","estimation","can","cause","severe","errors",".","See","also","https",":","\/\/github.com\/dask\/distributed\/issues\/4962"]
code: def __sizeof__(self) -> int:
      """
      The result of the shuffle split are typically small dictionaries
      (#keys << 100; typically <= 32) The splits are often non-uniformly
      distributed. Some of the splits may even be empty. Sampling the
      dictionary for size estimation can cause severe errors.
  
      See also https://github.com/dask/distributed/issues/4962
      """
      total_size = super().__sizeof__()
      for k, df in self.items():
          total_size += sizeof(k)
          total_size += sizeof(df)
      return total_size
  
imports: from __future__ import annotations
  import warnings
  from collections.abc import Iterable
  import numpy
  import pandas
  from pandas.api.types import is_scalar, union_categoricals
  from dask.array.core import Array
  from dask.array.dispatch import percentile_lookup
  from dask.array.percentile import _percentile
  from dask.backends import CreationDispatch, DaskBackendEntrypoint
  from dask.dataframe._compat import is_any_real_numeric_dtype
  from dask.dataframe.core import DataFrame, Index, Scalar, Series, _Frame
  from dask.dataframe.dispatch import categorical_dtype_dispatch, concat, concat_dispatch, from_pyarrow_table_dispatch, get_parallel_type, group_split_dispatch, grouper_dispatch, hash_object_dispatch, is_categorical_dtype_dispatch, make_meta_dispatch, make_meta_obj, meta_lib_from_array, meta_nonempty, partd_encode_dispatch, pyarrow_schema_dispatch, to_pandas_dispatch, to_pyarrow_table_dispatch, tolist_dispatch, union_categoricals_dispatch
  from dask.dataframe.extensions import make_array_nonempty, make_scalar
  from dask.dataframe.utils import _empty_series, _nonempty_scalar, _scalar_from_dtype, is_float_na_dtype, is_integer_na_dtype
  from dask.sizeof import SimpleSizeof, sizeof
  from dask.utils import is_arraylike, is_series_like, typename
label_desc: Use image node_id 1 for calling the ShuffleGroupResult obj's underlying member method code with example usage: obj.__sizeof__() and returns: total_size