def get_score_df(self, correction_method=None):
        '''

        :param correction_method: str or None, correction method from statsmodels.stats.multitest.multipletests
         'fdr_bh' is recommended.
        :return: pd.DataFrame
        '''
        # From https://people.kth.se/~lang/Effect_size.pdf
        # Shinichi Nakagawa1 and Innes C. Cuthill. Effect size, confidence interval and statistical
        # significance: a practical guide for biologists. 2007. In Biological Reviews 82.
        #
        # Modification: when calculating variance, an empty document is added to each set
        X = self._get_X().astype(np.float64)
        X_doc_len_norm = X / X.sum(axis=1)
        try:
            X_doc_len_norm[np.isnan(X_doc_len_norm)] = 0
        except: # likely a coo sparse matrix
            X_doc_len_norm.data = np.nan_to_num(X_doc_len_norm.data, nan=0)
            X_doc_len_norm = X_doc_len_norm.tocsr()
        cat_X, ncat_X = self._get_cat_and_ncat(X_doc_len_norm)
        orig_cat_X, orig_ncat_X = self._get_cat_and_ncat(X)
        score_df = (self
                    .get_cohens_d_df(cat_X, ncat_X, orig_cat_X, orig_ncat_X, correction_method)
                    .set_index(np.array(self._get_index())))
        score_df.index.name = 'term'
        return score_df


        :param correction_method: str or None, correction method from statsmodels.stats.multitest.multipletests
         'fdr_bh' is recommended.
        :return: pd.DataFrame
        
scattertext/termscoring/CohensD.py