Passed
Push — dev ( 3b058b...d73523 )
by Konstantinos
01:35
created

DFEncoderFactory.nominal_encoder()   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 3
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
import pandas as pd
2
from data.encoding import EncoderFactory, AbstractEncoder
3
4
5
class NominalEncoder(AbstractEncoder):
6
    def encode(self, *args, **kwargs):
7
        dataset, feature = args[0], args[1]
8
        return pd.get_dummies(dataset.datapoints.observations.df, f'{feature.label}-{feature.state.current}')
9
10
11
@EncoderFactory.register_as_subclass('pandas')
12
class DFEncoderFactory(EncoderFactory):
13
    def nominal_encoder(self, feature, **kwargs):
14
        return NominalEncoder()
15