как создать пользовательскую функцию в python (titani c набор данных) - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь создать пользовательскую функцию, которая создаст две переменные 'familysize' и 'isalone', добавит переменную 'sibsp' (sibling) и переменную 'parch' (родительские дочерние элементы), а затем создаст переменную 'isalone' который будет определять, является ли пассажир одним или нет, основываясь на этих двух переменных.

class combined_attributes(BaseEstimator, TransformerMixin):

    def fit(self,X,y=None):
        return self
    def transform(X,y=None):
        familysize=X['SibSp']+X['Parch']
        X.loc[X['familysize'] == 0 , 'isalone'] = 'Tru'
        X.loc[X['familysize'] > 0 , 'isalone'] = 'False'
        return np.c_[X,familysize]  

attr_adder=combined_attributes()

train_attr_adder=attr_adder.transform(train)

Я получаю ошибку:

TypeError: 'combined_attributes' object is not subscriptable

Если я удалю последнюю строку кода: train_attr_adder = attr_adder.transform (train) и запустить его, он не выдает никакой ошибки

...