apply로 여러개 dataframe 만들기

minsing-jin·2023년 11월 17일
0

어떻게 하면 pythonic하고, 가독성이 좋으며 효율적인 코드를 만들 수 있을까하면서 깨달은 아이디어들을 정리하는 글이다.

Before

result = make_passages.apply(self.__make_passages_and_retrieval_gt, axis=1)
        make_passages['passages'] = [passage[0] for passage in result]
        passages = [passage for lst_passage in make_passages['passages'] for passage in lst_passage]

        # Create retrieval_gt and retrieval_gt_order
        self.qa_data['retrieval_gt'] = [passage[1] for passage in result]
        self.qa_data['retrieval_gt_order'] = [passage[2] for passage in result]

After

Zip으로 unpack했다.

result = make_passages.apply(self.__make_passages_and_retrieval_gt, axis=1)
make_passages['passages'], self.qa_data['retrieval_gt'], self.qa_data['retrieval_gt_order'] = zip(*result)

# Flatten the list of passages
passages = [passage for lst_passage in make_passages['passages'] for passage in lst_passage]
profile
why not? 정신으로 맨땅에 헤딩하고 있는 코린이

0개의 댓글