class_docstr: Percent of 'Null' values in each column.
  
  Parameters
  ----------
  columns : Union[Hashable, List[Hashable]] , default: None
      List of columns to check, if none given checks
      all columns Except ignored ones.
  ignore_columns : Union[Hashable, List[Hashable]] , default: None
      List of columns to ignore, if none given checks
      based on columns variable.
  max_features_to_show : int , default: 5
      maximum features with to show, showing top features based on percent of nulls.
  aggregation_method: t.Optional[str], default: 'max'
      {feature_aggregation_method_argument:2*indent}
  n_samples : int , default: 100_000
      number of samples to use for this check.
  random_state : int, default: 42
      random seed for all check internals.
class_docstr_tok: ["Percent","of","'Null","'","values","in","each","column",".","Parameters","--","--","--","--","--","columns",":","Union","[","Hashable",",","List","[","Hashable","]","]",",","default",":","None","List","of","columns","to","check",",","if","none","given","checks","all","columns","Except","ignored","ones",".","ignore_columns",":","Union","[","Hashable",",","List","[","Hashable","]","]",",","default",":","None","List","of","columns","to","ignore",",","if","none","given","checks","based","on","columns","variable",".","max_features_to_show",":","int",",","default",":","5","maximum","features","with","to","show",",","showing","top","features","based","on","percent","of","nulls",".","aggregation_method",":","t.Optional","[","str","]",",","default",":","'max'","{","feature_aggregation_method_argument:2","*","indent","}","n_samples",":","int",",","default",":","100_000","number","of","samples","to","use","for","this","check",".","random_state",":","int",",","default",":","42","random","seed","for","all","check","internals","."]
docstr: Add condition - percent of null values in each column is not greater than the threshold.
  
  Parameters
  ----------
  threshold : float , default: 0.05
      Maximum threshold allowed.
docstr_tok: ["Add","condition","-","percent","of","null","values","in","each","column","is","not","greater","than","the","threshold",".","Parameters","--","--","--","--","--","threshold",":","float",",","default",":","0.05","Maximum","threshold","allowed","."]
code: def add_condition_percent_of_nulls_not_greater_than(
      self, threshold: float = 0.05
  ) -> TPercentOfNulls:
      """Add condition - percent of null values in each column is not greater than the threshold.
  
      Parameters
      ----------
      threshold : float , default: 0.05
          Maximum threshold allowed.
      """
  
      def condition(result: pd.DataFrame) -> ConditionResult:
          failing = result[
              result["Percent of nulls in sample"] > threshold
          ]["Percent of nulls in sample"].apply(format_percent)
          if len(failing) > 0:
              return ConditionResult(
                  ConditionCategory.FAIL,
                  f"Found {len(failing)} columns with ratio "
                  f"of nulls above threshold: \n{dict(failing)}",
              )
          else:
              details = get_condition_passed_message(len(result))
              if any(result["Percent of nulls in sample"] > 0):
                  features_with_null = result[
                      result["Percent of nulls in sample"] > 0
                  ]
                  value_for_print = dict(
                      features_with_null[
                          "Percent of nulls in sample"
                      ].apply(format_percent)[:5]
                  )
                  details += f". Top columns with null ratio: \n{value_for_print}"
              return ConditionResult(ConditionCategory.PASS, details)
  
      return self.add_condition(
          f"Percent of null values in each column is not greater than {format_percent(threshold)}",
          condition,
      )
  
file_path: deepchecks/deepchecks/tabular/checks/data_integrity/percent_of_nulls.py
imports: import typing
  import pandas
  import plotly.express
  from deepchecks.core.check_result import CheckResult
  from deepchecks.core.checks import DatasetKind
  from deepchecks.core.condition import ConditionCategory, ConditionResult
  from deepchecks.core.reduce_classes import ReduceFeatureMixin
  from deepchecks.tabular import Context, SingleDatasetCheck
  from deepchecks.tabular._shared_docs import docstrings
  from deepchecks.tabular.utils.messages import get_condition_passed_message
  from deepchecks.utils.strings import format_percent
  from deepchecks.utils.typing import Hashable
label_desc: Use image node_id 4 for calling the PercentOfNulls obj's underlying member method code with example usage: obj.add_condition_percent_of_nulls_not_greater_than(threshold) and returns: self, ConditionResult, ConditionResult