def METHOD_NAME(self):
    """
    returns sampled ometa dataframes
    """
    random.shuffle(self.table)  # we'll shuffle the list of dataframes
    # sampling data based on profiler config (if any)
    if self.profile_sample_type == ProfileSampleType.PERCENTAGE:
        try:
            profile_sample = self.profile_sample / 100
        except TypeError:
            # if the profile sample is not a number or is None
            # we'll set it to 100
            profile_sample = self.profile_sample = 100
        return [
            df.sample(
                frac=profile_sample,
                random_state=random.randint(0, 100),
                replace=True,
            )
            for df in self.table
        ]
    # we'll distribute the sample size equally among the dataframes
    sample_rows_per_chunk: int = math.floor(self.profile_sample / len(self.table))
    num_rows = sum(len(df) for df in self.table)
    # if we have less rows than the sample size
    # we'll return the whole table
    if sample_rows_per_chunk > num_rows:
        return self.table
    return [
        df.sample(
            n=sample_rows_per_chunk,
            random_state=random.randint(0, 100),
            replace=True,
        )
        for df in self.table
    ]