code: def get_best_electronegativity_anonymous_mapping(self, struct1, struct2):
          
          struct1, struct2 = self._process_species([struct1, struct2])
          struct1, struct2, fu, s1_supercell = self._preprocess(struct1, struct2)
  
          matches = self._anonymous_match(struct1, struct2, fu, s1_supercell,
                                          use_rms=True, break_on_match=True)
  
          if matches:
              min_X_diff = np.inf
              for m in matches:
                  X_diff = 0
                  for k, v in m[0].items():
                      X_diff += struct1.composition[k] * (k.X - v.X) ** 2
                  if X_diff < min_X_diff:
                      min_X_diff = X_diff
                      best = m[0]
              return best
docs: Performs an anonymous fitting, which allows distinct species in one
          structure to map to another. E.g., to compare if the Li2O and Na2O
          structures are similar. If multiple substitutions are within tolerance
          this will return the one which minimizes the difference in
          electronegativity between the matches species.
  
          Args:
              struct1 (Structure): 1st structure
              struct2 (Structure): 2nd structure
  
          Returns:
              min_mapping (Dict): Mapping of struct1 species to struct2 species