class_docstr: An abstract pipeline loader for estimates data that can load data a
  variable number of quarters forwards/backwards from calendar dates
  depending on the `num_announcements` attribute of the columns' dataset.
  If split adjustments are to be applied, a loader, split-adjusted columns,
  and the split-adjusted asof-date must be supplied.
  
  Parameters
  ----------
  estimates : pd.DataFrame
      The raw estimates data.
      ``estimates`` must contain at least 5 columns:
          sid : int64
              The asset id associated with each estimate.
  
          event_date : datetime64[ns]
              The date on which the event that the estimate is for will/has
              occurred..
  
          timestamp : datetime64[ns]
              The date on which we learned about the estimate.
  
          fiscal_quarter : int64
              The quarter during which the event has/will occur.
  
          fiscal_year : int64
              The year during which the event has/will occur.
  
  name_map : dict[str -> str]
      A map of names of BoundColumns that this loader will load to the
      names of the corresponding columns in `events`.
class_docstr_tok: ["An","abstract","pipeline","loader","for","estimates","data","that","can","load","data","a","variable","number","of","quarters","forwards\/backwards","from","calendar","dates","depending","on","the","`","num_announcements","`","attribute","of","the","columns","'","dataset",".","If","split","adjustments","are","to","be","applied",",","a","loader",",","split-adjusted","columns",",","and","the","split-adjusted","asof-date","must","be","supplied",".","Parameters","--","--","--","--","--","estimates",":","pd.DataFrame","The","raw","estimates","data",".","``","estimates","``","must","contain","at","least","5","columns",":","sid",":","int64","The","asset","id","associated","with","each","estimate",".","event_date",":","datetime64","[","ns","]","The","date","on","which","the","event","that","the","estimate","is","for","will\/has","occurred","..","timestamp",":","datetime64","[","ns","]","The","date","on","which","we","learned","about","the","estimate",".","fiscal_quarter",":","int64","The","quarter","during","which","the","event","has\/will","occur",".","fiscal_year",":","int64","The","year","during","which","the","event","has\/will","occur",".","name_map",":","dict","[","str","-",">","str","]","A","map","of","names","of","BoundColumns","that","this","loader","will","load","to","the","names","of","the","corresponding","columns","in","`","events","`","."]
docstr: Creates an AdjustedArray from the given estimates data for the given
  dates.
  
  Parameters
  ----------
  zero_qtr_data : pd.DataFrame
      The 'time zero' data for each calendar date per sid.
  requested_qtr_data : pd.DataFrame
      The requested quarter data for each calendar date per sid.
  last_per_qtr : pd.DataFrame
      A DataFrame with a column MultiIndex of [self.estimates.columns,
      normalized_quarters, sid] that allows easily getting the timeline
      of estimates for a particular sid for a particular quarter.
  dates : pd.DatetimeIndex
      The calendar dates for which estimates data is requested.
  assets : pd.Int64Index
      An index of all the assets from the raw data.
  columns : list of BoundColumn
      The columns for which adjustments need to be calculated.
  kwargs :
      Additional keyword arguments that should be forwarded to
      `get_adjustments_for_sid` and to be used in computing adjustments
      for each sid.
  
  Returns
  -------
  col_to_all_adjustments : dict[int -> AdjustedArray]
      A dictionary of all adjustments that should be applied.
docstr_tok: ["Creates","an","AdjustedArray","from","the","given","estimates","data","for","the","given","dates",".","Parameters","--","--","--","--","--","zero_qtr_data",":","pd.DataFrame","The","'time","zero","'","data","for","each","calendar","date","per","sid",".","requested_qtr_data",":","pd.DataFrame","The","requested","quarter","data","for","each","calendar","date","per","sid",".","last_per_qtr",":","pd.DataFrame","A","DataFrame","with","a","column","MultiIndex","of","[","self.estimates.columns",",","normalized_quarters",",","sid","]","that","allows","easily","getting","the","timeline","of","estimates","for","a","particular","sid","for","a","particular","quarter",".","dates",":","pd.DatetimeIndex","The","calendar","dates","for","which","estimates","data","is","requested",".","assets",":","pd.Int64Index","An","index","of","all","the","assets","from","the","raw","data",".","columns",":","list","of","BoundColumn","The","columns","for","which","adjustments","need","to","be","calculated",".","kwargs",":","Additional","keyword","arguments","that","should","be","forwarded","to","`","get_adjustments_for_sid","`","and","to","be","used","in","computing","adjustments","for","each","sid",".","Returns","--","--","--","-","col_to_all_adjustments",":","dict","[","int","-",">","AdjustedArray","]","A","dictionary","of","all","adjustments","that","should","be","applied","."]
code: def get_adjustments(
      self,
      zero_qtr_data,
      requested_qtr_data,
      last_per_qtr,
      dates,
      assets,
      columns,
      **kwargs,
  ):
      """
      Creates an AdjustedArray from the given estimates data for the given
      dates.
  
      Parameters
      ----------
      zero_qtr_data : pd.DataFrame
          The 'time zero' data for each calendar date per sid.
      requested_qtr_data : pd.DataFrame
          The requested quarter data for each calendar date per sid.
      last_per_qtr : pd.DataFrame
          A DataFrame with a column MultiIndex of [self.estimates.columns,
          normalized_quarters, sid] that allows easily getting the timeline
          of estimates for a particular sid for a particular quarter.
      dates : pd.DatetimeIndex
          The calendar dates for which estimates data is requested.
      assets : pd.Int64Index
          An index of all the assets from the raw data.
      columns : list of BoundColumn
          The columns for which adjustments need to be calculated.
      kwargs :
          Additional keyword arguments that should be forwarded to
          `get_adjustments_for_sid` and to be used in computing adjustments
          for each sid.
  
      Returns
      -------
      col_to_all_adjustments : dict[int -> AdjustedArray]
          A dictionary of all adjustments that should be applied.
      """
  
      zero_qtr_data.sort_index(inplace=True)
      # Here we want to get the LAST record from each group of records
      # corresponding to a single quarter. This is to ensure that we select
      # the most up-to-date event date in case the event date changes.
      quarter_shifts = zero_qtr_data.groupby(
          level=[SID_FIELD_NAME, NORMALIZED_QUARTERS]
      ).nth(-1)
  
      col_to_all_adjustments = {}
      sid_to_idx = dict(zip(assets, range(len(assets))))
      quarter_shifts.groupby(level=SID_FIELD_NAME).apply(
          self.get_adjustments_for_sid,
          dates,
          requested_qtr_data,
          last_per_qtr,
          sid_to_idx,
          columns,
          col_to_all_adjustments,
          **kwargs,
      )
      return col_to_all_adjustments
  
imports: from abc import abstractmethod, abstractproperty
  import numpy
  import pandas
  from six import viewvalues
  from toolz import groupby
  from catalyst.lib.adjusted_array import AdjustedArray
  from catalyst.lib.adjustment import Datetime641DArrayOverwrite, Datetime64Overwrite, Float641DArrayOverwrite, Float64Multiply, Float64Overwrite
  from catalyst.pipeline.common import EVENT_DATE_FIELD_NAME, FISCAL_QUARTER_FIELD_NAME, FISCAL_YEAR_FIELD_NAME, SID_FIELD_NAME, TS_FIELD_NAME
  from catalyst.pipeline.loaders.base import PipelineLoader
  from catalyst.utils.numpy_utils import datetime64ns_dtype, float64_dtype
  from catalyst.pipeline.loaders.utils import ffill_across_cols, last_in_date_group
label_desc: Use image node_id 11 for calling the EarningsEstimatesLoader obj's underlying member method code with example usage: obj.get_adjustments(zero_qtr_data, requested_qtr_data, last_per_qtr, dates, assets, columns) and returns: col_to_all_adjustments