class_docstr: Search in column[s] for values that contains only special characters.
  
  Parameters
  ----------
  columns : Union[Hashable, List[Hashable]] , default: None
      Columns to check, if none are given checks all columns except ignored ones.
  ignore_columns : Union[Hashable, List[Hashable]] , default: None
      Columns to ignore, if none given checks based on columns variable.
  n_most_common : int , default: 2
      Number of most common special-only samples to show in results
  n_top_columns : int , optional
      amount of columns to show ordered by feature importance (date, index, label are first)
  n_samples: int = 10_000_000,
      random_state: int = 42,
class_docstr_tok: ["Search","in","column","[","s","]","for","values","that","contains","only","special","characters",".","Parameters","--","--","--","--","--","columns",":","Union","[","Hashable",",","List","[","Hashable","]","]",",","default",":","None","Columns","to","check",",","if","none","are","given","checks","all","columns","except","ignored","ones",".","ignore_columns",":","Union","[","Hashable",",","List","[","Hashable","]","]",",","default",":","None","Columns","to","ignore",",","if","none","given","checks","based","on","columns","variable",".","n_most_common",":","int",",","default",":","2","Number","of","most","common","special-only","samples","to","show","in","results","n_top_columns",":","int",",","optional","amount","of","columns","to","show","ordered","by","feature","importance","(","date",",","index",",","label","are","first",")","n_samples",":","int","=","10_000_000",",","random_state",":","int","=","42",","]
docstr: Add condition - ratio of entirely special character in column is less or equal to the threshold.
  
  Parameters
  ----------
  max_ratio : float , default: 0.001
      Maximum ratio allowed.
docstr_tok: ["Add","condition","-","ratio","of","entirely","special","character","in","column","is","less","or","equal","to","the","threshold",".","Parameters","--","--","--","--","--","max_ratio",":","float",",","default",":","0.001","Maximum","ratio","allowed","."]
code: def add_condition_ratio_of_special_characters_less_or_equal(
      self, max_ratio: float = 0.001
  ):
      """Add condition - ratio of entirely special character in column is less or equal to the threshold.
  
      Parameters
      ----------
      max_ratio : float , default: 0.001
          Maximum ratio allowed.
      """
      name = f"Ratio of samples containing solely special character is less or equal to {format_percent(max_ratio)}"
  
      def condition(result):
          not_passed = {
              k: format_percent(v)
              for k, v in result.items()
              if v > max_ratio
          }
          if not_passed:
              details = (
                  f"Found {len(not_passed)} out of {len(result)} relevant columns with ratio above threshold: "
                  f"{not_passed}"
              )
              return ConditionResult(ConditionCategory.WARN, details)
          return ConditionResult(
              ConditionCategory.PASS,
              get_condition_passed_message(result),
          )
  
      return self.add_condition(name, condition)
  
file_path: deepchecks/deepchecks/tabular/checks/data_integrity/special_chars.py
imports: from collections import defaultdict
  from typing import List, Union
  import pandas
  from pandas.api.types import infer_dtype
  from deepchecks.core import CheckResult, ConditionCategory, ConditionResult
  from deepchecks.tabular import Context, SingleDatasetCheck
  from deepchecks.tabular.utils.feature_importance import N_TOP_MESSAGE, column_importance_sorter_df
  from deepchecks.tabular.utils.messages import get_condition_passed_message
  from deepchecks.utils.dataframes import select_from_dataframe
  from deepchecks.utils.strings import format_percent, string_baseform
  from deepchecks.utils.typing import Hashable
label_desc: Use image node_id 3 for calling the SpecialCharacters obj's underlying member method code with example usage: obj.add_condition_ratio_of_special_characters_less_or_equal(max_ratio) and returns: self, ConditionResult, ConditionResult