def get_scores_for_category(self, cat_word_counts, not_cat_word_counts):
        '''
        Parameters
        ----------
        cat_word_counts : np.array
            category counts
        not_cat_word_counts : np.array
            not category counts

        Returns
        -------
        np.array
            scores
        '''
        beta = self.beta_
        # import pdb; pdb.set_trace()
        assert len(cat_word_counts) == len(not_cat_word_counts)
        old_cat_word_counts = None
        if type(cat_word_counts) == pd.Series:
            assert all(cat_word_counts.index == not_cat_word_counts.index)

            old_cat_word_counts = cat_word_counts
            cat_word_counts = cat_word_counts.values
        if type(not_cat_word_counts) == pd.Series:
            not_cat_word_counts = not_cat_word_counts.values
        if self.priors_ is not None:
            p = self.priors_
            assert len(p) == len(cat_word_counts)
            precision = ((cat_word_counts + p * 1.) /
                         (cat_word_counts + not_cat_word_counts + 2 * p))
            recall = (cat_word_counts + p) * 1. / (cat_word_counts.sum() + p.sum())
        else:
            precision = (cat_word_counts * 1. / (cat_word_counts + not_cat_word_counts))
            recall = cat_word_counts * 1. / cat_word_counts.sum()
        precision_normcdf = ScaledFScore._safe_scaler(self.scaler_algo_, precision)
        recall_normcdf = ScaledFScore._safe_scaler(self.scaler_algo_, recall)
        scores = self._weighted_h_mean(precision_normcdf, recall_normcdf)
        scores[np.isnan(scores)] = 0.
        if old_cat_word_counts is not None:
            return pd.Series(scores, index=old_cat_word_counts.index)
        return scores

        Parameters
        ----------
        cat_word_counts : np.array
            category counts
        not_cat_word_counts : np.array
            not category counts

        Returns
        -------
        np.array
            scores
        
scattertext/termscoring/ScaledFScore.py