code: def __normalize_postal_code(self):
      postal_code = self.etalon_def_checked.get(
          FileColumnMeaningType.POSTAL_CODE.value
      )
      if postal_code is not None and postal_code in self.data.columns:
          # self.logger.info("Normalize postal code")
  
          if is_string_dtype(self.data[postal_code]):
              try:
                  self.data[postal_code] = (
                      self.data[postal_code]
                      .astype("float64")
                      .astype("Int64")
                      .astype("string")
                  )
              except Exception:
                  pass
          elif is_float_dtype(self.data[postal_code]):
              self.data[postal_code] = (
                  self.data[postal_code]
                  .astype("Int64")
                  .astype("string")
              )
  
          self.data[postal_code] = (
              self.data[postal_code]
              .astype("string")
              .str.upper()
              .str.replace(
                  r"[^0-9A-Z]", "", regex=True
              )  # remove non alphanumeric characters
              .str.replace(
                  r"^0+\B", "", regex=True
              )  # remove leading zeros
          )
          if (self.data[postal_code] == "").all():
              raise ValidationError(
                  bundle.get("invalid_postal_code").format(postal_code)
              )
  
imports: import csv
  import hashlib
  import logging
  import tempfile
  import time
  from ipaddress import IPv4Address, IPv6Address, _BaseAddress, ip_address
  from pathlib import Path
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import numpy
  import pandas
  from pandas.api.types import is_bool_dtype
  from pandas.api.types import is_datetime64_any_dtype
  from pandas.api.types import is_float_dtype, is_integer_dtype, is_numeric_dtype, is_string_dtype
  from pandas.core.dtypes.common import is_period_dtype
  from upgini.errors import ValidationError
  from upgini.http import ProgressStage, SearchProgress, get_rest_client
  from upgini.metadata import EVAL_SET_INDEX, SYSTEM_COLUMNS, SYSTEM_RECORD_ID, TARGET, DataType, FeaturesFilter, FileColumnMeaningType, FileColumnMetadata, FileMetadata, FileMetrics, ModelTaskType, NumericInterval, RuntimeParameters, SearchCustomization
  from upgini.normalizer.phone_normalizer import PhoneNormalizer
  from upgini.resource_bundle import bundle
  from upgini.sampler.random_under_sampler import RandomUnderSampler
  from upgini.search_task import SearchTask
  from upgini.utils import combine_search_keys
  from upgini.utils.email_utils import EmailSearchKeyConverter
  from upgini.utils.warning_counter import WarningCounter
label_desc: Use image node_id 22 for calling the Dataset obj's underlying member method code with example usage: obj.__normalize_postal_code() without return types