Как сложить две колонки для настраиваемого преобразователя - PullRequest
0 голосов
/ 14 апреля 2019

Я работаю с набором данных Titanic, пытаясь создать собственный преобразователь, который будет складывать два столбца и выводить массив результатов с помощью метода fit_transform в конвейере.

Я создал класс "dfSelector", который выбирает два интересующих столбца, "SibSp" и "Parch", и создал следующий класс "family_size", чтобы добавить два. В конвейере также есть средство для обработки любых нулевых записей в кадре данных.

class family_size(BaseEstimator, TransformerMixin):
    def __init__(self, sibsp, parch):
        self.sibsp = sibsp
        self.parch = parch
    def fit(self, X, y=None):
        return self     
    def transform(self, X, y=None):
        family = (self.sibsp + self.parch)
        return family


# Run through a pipeline with an imputer to take care of 'nan' rows

family_pipeline = Pipeline([('column_selector', dfSelector(['SibSp', 'Parch'])),
                            ('num_imputer', SimpleImputer(strategy='median')),
                           ('family_encoder', family_size(['SibSp', 'Parch'])),
                           ])

family_pipeline.fit_transform(traindf) 



TypeError __init__() missing 1 required positional argument: 'parch'

Как мне получить массив с суммой двух столбцов?

...