103 | def fit_transform(self, X, y=None): |
104 | """Encode categorical columns into label encoded columns |
105 | |
106 | Args: |
107 | X (pandas.DataFrame): categorical columns to encode |
108 | |
109 | Returns: |
110 | X (pandas.DataFrame): label encoded columns |
111 | """ |
112 | |
113 | self.label_encoders = [None] * X.shape[1] |
114 | self.label_maxes = [None] * X.shape[1] |
115 | |
116 | for i, col in enumerate(X.columns): |
117 | self.label_encoders[i], self.label_maxes[i] = \ |
118 | self._get_label_encoder_and_max(X[col]) |
119 | |
120 | X.loc[:, col] = X[col].fillna(NAN_INT).map(self.label_encoders[i]).fillna(0) |
121 | |
122 | return X |