class_docstr: An object modelling a logical rule and add factorization methods.
  It is used to simplify rules and deduplicate them.
  
  Parameters
  ----------
  
  rule : str
      The logical rule that is interpretable by a pandas query.
  
  args : object, optional
      Arguments associated to the rule, it is not used for factorization
      but it takes part of the output when the rule is converted to an array.
code: def factorize(self):
      for feature, symbol, value in self.terms:
          if (feature, symbol) not in self.agg_dict:
              if symbol != "==":
                  self.agg_dict[(feature, symbol)] = str(float(value))
              else:
                  self.agg_dict[(feature, symbol)] = value
          else:
              if symbol[0] == "<":
                  self.agg_dict[(feature, symbol)] = str(
                      min(
                          float(self.agg_dict[(feature, symbol)]),
                          float(value),
                      )
                  )
              elif symbol[0] == ">":
                  self.agg_dict[(feature, symbol)] = str(
                      max(
                          float(self.agg_dict[(feature, symbol)]),
                          float(value),
                      )
                  )
              else:  # Handle the c0 == c0 case
                  self.agg_dict[(feature, symbol)] = value
  
file_path: skope-rules/skrules/rule.py
imports: import re
label_desc: Use image node_id 4 for calling the Rule obj's underlying member method code with example usage: obj.factorize() without return types