Gestion des aggrégations¶
Classe aggrégatrice des mesures.
Created on Sun Nov 22 12:41:19 2020
@author: Cyrile Delestre
-
class
dstk.metrics._aggregator.Aggregator[source]¶ Bases:
objectClasse agrégatrice pour le décorateur
sniffer()offrant un comportement par défaut. Il est possible de faire hériter cette classe pour construire d’autres agrégateurs ou changer son comportement.Elle doit contenir la méthode make_message qui renvoit un dictionnaire. Rien n’y oblige, mais en standard elle renvoit tourjours au moins le type de la variable avec le mot clef ‘type’.
Examples
Voici un exemple de surchage de la classe Aggregator où l’on souhaite changer le comportement sur les listes et ajouter un nouveau type MonObj.
>>> from functools import wraps, singledispatchmethod >>> from dstk.metrics import Aggregator >>> >>> class MonAggregator(Aggregator): >>> "docstring de la classe" >>> >>> # Important : redéfinir la méthode make_message en la décorant >>> # de singledispatchmethod et qui renvoit vers le make_message >>> # de la classe mère >>> @singledispatchmethod >>> def make_message(self, input): >>> return super().make_message(input) >>> >>> # Ajout d'un agrégateur pour le type MonObj >>> @make_message.register >>> def _(self, input: MonObj): >>> return dict(type='MonObj', out=input.out) >>> >>> # Surchage du type list >>> @make_message.register >>> def _(self, input: list): >>> return dict( >>> type = 'list', >>> len = len(input), >>> out = input[0] >>> )
-
make_message(input)[source]¶ -
make_message(input: str) -
make_message(input: numpy.integer) -
make_message(input: numpy.integer) -
make_message(input: numpy.integer) -
make_message(input: numpy.integer) -
make_message(input: tuple) -
make_message(input: tuple) -
make_message(input: numpy.ndarray) -
make_message(input: pandas.core.frame.DataFrame) -
make_message(input: dict) -
make_message(input: None)
-