Returns n passwords sampled from this password dataset.  if
        asperdist is True, then returns the password sampled according
        the password histogram distribution (with
        replacement). Passwords are always sampled with replacement.

        TODO: The sample users, instead of passwords perse.

def sample_pws(self, n, asperdist=True):
        """Returns n passwords sampled from this password dataset.  if
        asperdist is True, then returns the password sampled according
        the password histogram distribution (with
        replacement). Passwords are always sampled with replacement.

        TODO: The sample users, instead of passwords perse.
        """
        if asperdist:
            sample = np.random.choice(
                self._freq_list.shape[0], size=n, p=self._freq_list/self._totalf
            )
        else:
            sample = np.random.choice(len(self._T), size=n)
        return (self._T.restore_key(i) for i in sample)