code: def curtailment(self):
          
          if self._curtailment is not None:
              result_dict = {}
              for key, gen_list in self._curtailment.items():
                  curtailment_df = pd.DataFrame()
                  for gen in gen_list:
                      curtailment_df[gen] = gen.curtailment
                  result_dict[key] = curtailment_df
              return result_dict
          else:
              return None
docs: Holds curtailment assigned to each generator per curtailment target.
  
          Returns
          -------
          :obj:`dict` with :pandas:`pandas.DataFrame<dataframe>`
              Keys of the dictionary are generator types (and weather cell ID)
              curtailment targets were given for. E.g. if curtailment is provided
              as a :pandas:`pandas.DataFrame<dataframe>` with
              :pandas.`pandas.MultiIndex` columns with levels 'type' and
              'weather cell ID' the dictionary key is a tuple of
              ('type','weather_cell_id').
              Values of the dictionary are dataframes with the curtailed power in
              kW per generator and time step. Index of the dataframe is a
              :pandas:`pandas.DatetimeIndex<datetimeindex>`. Columns are the
              generators of type
              :class:`edisgo.grid.components.GeneratorFluctuating`.