code: def get_projection_on_elements(self):
          
          result = {}
          structure = self.structure
          for spin, v in self.projections.items():
              result[spin] = [[collections.defaultdict(float)
                               for i in range(len(self.kpoints))]
                              for j in range(self.nb_bands)]
              for i, j, k in itertools.product(range(self.nb_bands),
                                               range(len(self.kpoints)),
                                               range(structure.num_sites)):
                  result[spin][i][j][str(structure[k].specie)] += np.sum(
                      v[i, j, :, k])
          return result
docs: Method returning a dictionary of projections on elements.
  
          Returns:
              a dictionary in the {Spin.up:[][{Element:values}],
              Spin.down:[][{Element:values}]} format
              if there is no projections in the band structure
              returns an empty dict