docs: def _get_charge_distribution_df(self):
          """
          Return a complete table of fractional coordinates - charge density.
          """
          # Fraction coordinates and corresponding indices
          axis_grid = np.array([np.array(self.chgcar.get_axis_grid(i)) /
                                self.structure.lattice.abc[i] for i in range(3)])
          axis_index = np.array([range(len(axis_grid[i])) for i in range(3)])
  
          data = {}
  
          for index in itertools.product(*axis_index):
              a, b, c = index
              f_coords = (axis_grid[0][a], axis_grid[1][b], axis_grid[2][c])
              data[f_coords] = self.chgcar.data["total"][a][b][c]
  
          # Fraction coordinates - charge density table
          df = pd.Series(data).reset_index()
          df.columns = ['a', 'b', 'c', 'Charge Density']
          self._charge_distribution_df = df
  
          return df