def convert_label_attribute(self, source_field, target_field, inplace=True,
                                overwrite=True):
        """
        Convert one label attribute (label_store, symbol, or description) to another.
        Input arguments:
        - inplace - If True, sets the object attribute. If False, returns the value.
        - overwrite - if True, performs conversion and replaces target field attribute even if the
          target attribute already has a value. If False, does not perform conversion in the aforementioned case.
          Set to True (do conversion) if inplace=False.

        Creates mapping df on the fly based on ann_label_table and self.custom_labels
        """
        if inplace and not overwrite:
            if getattr(self, target_field) is not None:
                return

        label_map = self.create_label_map(inplace=False)
        label_map.set_index(label_map[source_field].values, inplace=True)

        target_item = label_map.loc[getattr(self, source_field), target_field].values

        if target_field != 'label_store':
            # Should already be int64 dtype if target is label_store
            target_item = list(target_item)

        if inplace:
            setattr(self, target_field, target_item)
        else:
            return target_item
Convert one label attribute (label_store, symbol, or description) to another.
        Input arguments:
        - inplace - If True, sets the object attribute. If False, returns the value.
        - overwrite - if True, performs conversion and replaces target field attribute even if the
          target attribute already has a value. If False, does not perform conversion in the aforementioned case.
          Set to True (do conversion) if inplace=False.

        Creates mapping df on the fly based on ann_label_table and self.custom_labels