class_docstr: Class for the estimate object that every causal estimator returns
class_docstr_tok: ["Class","for","the","estimate","object","that","every","causal","estimator","returns"]
code: def __str__(self):
      s = "*** Causal Estimate ***\n"
      # No estimand was identified (identification failed)
      if self.target_estimand is None:
          return "Estimation failed! No relevant identified estimand available for this estimation method."
      s += "\n## Identified estimand\n{0}".format(
          self.target_estimand.__str__(only_target_estimand=True)
      )
      s += "\n## Realized estimand\n{0}".format(
          self.realized_estimand_expr
      )
      if hasattr(self, "estimator"):
          s += "\nTarget units: {0}\n".format(
              self.estimator.target_units_tostr()
          )
      s += "\n## Estimate\n"
      s += "Mean value: {0}\n".format(self.value)
      s += ""
      if hasattr(self, "cate_estimates"):
          s += "Effect estimates: {0}\n".format(self.cate_estimates)
      if hasattr(self, "estimator"):
          if self.estimator._significance_test:
              s += "p-value: {0}\n".format(
                  self.estimator.signif_results_tostr(
                      self.test_stat_significance()
                  )
              )
          if self.estimator._confidence_intervals:
              s += "{0}% confidence interval: {1}\n".format(
                  100 * self.estimator.confidence_level,
                  self.get_confidence_intervals(),
              )
      if self.conditional_estimates is not None:
          s += "### Conditional Estimates\n"
          s += str(self.conditional_estimates)
      if self.effect_strength is not None:
          s += "\n## Effect Strength\n"
          s += "Change in outcome attributable to treatment: {}\n".format(
              self.effect_strength["fraction-effect"]
          )
          # s += "Variance in outcome explained by treatment: {}\n".format(self.effect_strength["r-squared"])
      return s
  
imports: import copy
  import logging
  from collections import namedtuple
  from typing import Dict, List, Optional, Union
  import numpy
  import pandas
  import sympy
  from sklearn.utils import resample
  import dowhy.interpreters
  from dowhy.causal_identifier.identified_estimand import IdentifiedEstimand
  from dowhy.utils.api import parse_state
label_desc: Use image node_id 10 for calling the CausalEstimate obj's underlying member method code with example usage: obj.__str__() and returns: s, str