def _validate_data()

in spotify_confidence/analysis/bayesian/bayesian_base.py [0:0]


    def _validate_data(self):
        """Integrity check input dataframe."""
        if not self._all_group_columns:
            raise ValueError(
                """At least one of `categorical_group_columns`
                                or `ordinal_group_column` must be specified."""
            )

        # Ensure there's at most 1 observation per grouping.
        max_one_row_per_grouping = all(self._data_frame.groupby(self._all_group_columns).size() <= 1)
        if not max_one_row_per_grouping:
            raise ValueError("""Each grouping should have at most 1 observation.""")

        if self._ordinal_group_column:
            ordinal_column_type = self._data_frame[self._ordinal_group_column].dtype.type
            if not np.issubdtype(ordinal_column_type, np.number) and not issubclass(
                ordinal_column_type, np.datetime64
            ):
                raise TypeError(