def add_mappings(self, mappings: Mapping[int, int], topic_model: BERTopic):
        """Add new column(s) of topic mappings.

        Arguments:
            mappings: The mappings to add
            topic_model: The topic model this TopicMapper belongs to
        """
        for topics in self.mappings_:
            topic = topics[-1]
            if topic in mappings:
                topics.append(mappings[topic])
            else:
                topics.append(-1)

        # When zero-shot topic(s) are present in the topics to merge,
        # determine whether to take one of the zero-shot topic labels
        # or use a calculated representation.
        if topic_model._is_zeroshot() and len(topic_model._topic_id_to_zeroshot_topic_idx) > 0:
            new_topic_id_to_zeroshot_topic_idx = {}
            topics_to_map = {
                topic_mapping[0]: topic_mapping[1]
                for topic_mapping in np.array(topic_model.topic_mapper_.mappings_)[:, -2:]
            }

            # Map topic_to to topics_from
            mapping = defaultdict(list)
            for key, value in topics_to_map.items():
                mapping[value].append(key)

            for topic_to, topics_from in mapping.items():
                # which of the original topics are zero-shot
                zeroshot_topic_ids = [
                    topic_id for topic_id in topics_from if topic_id in topic_model._topic_id_to_zeroshot_topic_idx
                ]
                if len(zeroshot_topic_ids) == 0:
                    continue

                # If any of the original topics are zero-shot, take the best fitting zero-shot label
                # if the cosine similarity with the new topic exceeds the zero-shot threshold
                zeroshot_labels = [
                    topic_model.zeroshot_topic_list[topic_model._topic_id_to_zeroshot_topic_idx[topic_id]]
                    for topic_id in zeroshot_topic_ids
                ]
                zeroshot_embeddings = topic_model._extract_embeddings(zeroshot_labels)
                cosine_similarities = cosine_similarity(
                    zeroshot_embeddings, [topic_model.topic_embeddings_[topic_to]]
                ).flatten()
                best_zeroshot_topic_idx = np.argmax(cosine_similarities)
                best_cosine_similarity = cosine_similarities[best_zeroshot_topic_idx]

                if best_cosine_similarity >= topic_model.zeroshot_min_similarity:
                    # Using the topic ID from before mapping, get the idx into the zeroshot topic list
                    new_topic_id_to_zeroshot_topic_idx[topic_to] = topic_model._topic_id_to_zeroshot_topic_idx[
                        zeroshot_topic_ids[best_zeroshot_topic_idx]
                    ]

            topic_model._topic_id_to_zeroshot_topic_idx = new_topic_id_to_zeroshot_topic_idx
Add new column(s) of topic mappings.

        Arguments:
            mappings: The mappings to add
            topic_model: The topic model this TopicMapper belongs to
        
bertopic/_bertopic.py