code: def storages(self):
          
          grids = [self.network.mv_grid] + list(self.network.mv_grid.lv_grids)
          storage_results = {}
          storage_results['storage_id'] = []
          storage_results['nominal_power'] = []
          storage_results['voltage_level'] = []
          storage_results['grid_connection_point'] = []
          for grid in grids:
              for storage in grid.graph.nodes_by_attribute('storage'):
                  storage_results['storage_id'].append(repr(storage))
                  storage_results['nominal_power'].append(storage.nominal_power)
                  storage_results['voltage_level'].append(
                      'mv' if isinstance(grid, MVGrid) else 'lv')
                  storage_results['grid_connection_point'].append(
                       grid.graph.neighbors(storage)[0])
  
          return pd.DataFrame(storage_results).set_index('storage_id')
docs: Gathers relevant storage results.
  
          Returns
          -------
          :pandas:`pandas.DataFrame<dataframe>`
  
              Dataframe containing all storages installed in the MV grid and
              LV grids. Index of the dataframe are the storage representatives,
              columns are the following:
  
              nominal_power : :obj:`float`
                  Nominal power of the storage in kW.
  
              voltage_level : :obj:`str`
                  Voltage level the storage is connected to. Can either be 'mv'
                  or 'lv'.