class_docstr: Custom partitioner DoFn for MutualInformation.
code: def __init__(
      self,
      row_partitions: int,
      column_partitions: int,
      label_column: str,
      seed: int,
  ):
      self._row_partitions = row_partitions
      self._column_partitions = column_partitions
      self._label_column = frozenset([label_column])
      self._rng = np.random.default_rng(seed=seed)
  
imports: import collections
  from typing import Any, Dict, Iterable, List, Optional, Set, Tuple
  from absl import logging
  import apache_beam
  import numpy
  import pandas
  import pyarrow
  from tensorflow_data_validation import types
  from tensorflow_data_validation.statistics.generators import partitioned_stats_generator
  from tensorflow_data_validation.utils import feature_partition_util
  from tensorflow_data_validation.utils import mutual_information_util
  from tensorflow_data_validation.utils import schema_util
  from tensorflow_data_validation.utils import stats_util
  from tfx_bsl.arrow import array_util
  from tensorflow_metadata.proto.v0 import schema_pb2
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 1 to create a new _PartitionFn object from inherited base classes: beam with example: obj = _PartitionFn(row_partitions, column_partitions, label_column, seed)