docstr: Assert contributions calculated from different methods are dataframes
  of same shape with same column names and index names
  
  Parameters
  ----------
  weights : list
      List of contributions from different methods
docstr_tok: ["Assert","contributions","calculated","from","different","methods","are","dataframes","of","same","shape","with","same","column","names","and","index","names","Parameters","--","--","--","--","--","weights",":","list","List","of","contributions","from","different","methods"]
code: def check_consistency_contributions(self, weights):
      """
      Assert contributions calculated from different methods are dataframes
      of same shape with same column names and index names
  
      Parameters
      ----------
      weights : list
          List of contributions from different methods
      """
      if weights[0].ndim == 1:
          raise ValueError(
              "Multiple datapoints are required to compute the metric"
          )
      if not all(isinstance(x, pd.DataFrame) for x in weights):
          raise ValueError("Contributions must be pandas DataFrames")
      if not all(x.shape == weights[0].shape for x in weights):
          raise ValueError("Contributions must be of same shape")
      if not all(
          x.columns.tolist() == weights[0].columns.tolist()
          for x in weights
      ):
          raise ValueError(
              "Columns names are different between contributions"
          )
      if not all(
          x.index.tolist() == weights[0].index.tolist() for x in weights
      ):
          raise ValueError(
              "Index names are different between contributions"
          )
  
imports: from category_encoders import OrdinalEncoder
  import copy
  import itertools
  import matplotlib.pyplot
  import numpy
  import pandas
  from plotly import graph_objs
  from plotly.offline import plot
  from plotly.subplots import make_subplots
  from sklearn.manifold import MDS
  from shapash import SmartExplainer
  from shapash.style.style_utils import colors_loading, select_palette, define_style
label_desc: Use image node_id 4 for calling the Consistency obj's underlying member method code with example usage: obj.check_consistency_contributions(weights) without return types