def get_Y_categories(self, entries=None):
        """ Returns names of y cat. of the IOSystem as unique names in order

        Parameters
        ----------
        entries : List, optional
            If given, retuns an list with None for all values not in entries.

        Returns
        -------
        Index
            List of categories, None if no attribute to determine
            list is available
        """
        possible_dataframes = ['Y', 'FY']

        for df in possible_dataframes:
            if (df in self.__dict__) and (getattr(self, df) is not None):
                try:
                    ind = getattr(self, df).columns.get_level_values(
                        'category').unique()
                except (AssertionError, KeyError):
                    ind = getattr(self, df).columns.get_level_values(
                        1).unique()
                if entries:
                    if type(entries) is str:
                        entries = [entries]
                    ind = ind.tolist()
                    return [None if ee not in entries else ee for ee in ind]
                else:
                    return ind
        else:
            logging.warn("No attributes available to get Y categories")
            return None
Returns names of y cat. of the IOSystem as unique names in order

        Parameters
        ----------
        entries : List, optional
            If given, retuns an list with None for all values not in entries.

        Returns
        -------
        Index
            List of categories, None if no attribute to determine
            list is available