Passed
Push — master ( f8108f...3d944f )
by Simon
01:32
created

gradient_free_optimizers._results_manager.ResultsManager.search_data()   A

Complexity

Conditions 1

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 3
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nop 1
1
import pandas as pd
2
from collections.abc import Sequence
3
4
5
class ResultsManager:
6
    def __init__(self):
7
        self._results_l = []
8
9
    def add(self, result, params) -> None:
10
        score_d = {"score": result.score}
11
        results_dict = {**score_d, **result.metrics}
12
13
        self._results_l.append({**results_dict, **params})
14
15
    @property
16
    def dataframe(self) -> pd.DataFrame:
17
        return pd.DataFrame(self._results_l)
18
19
    def best(self):
20
        return max(self._results, key=lambda r: r.score, default=None)
21