def __setitem__(self, fieldId, val): """ Item assignment on formdata. Setting the value of a non existing field is NOT an error... """ if not fieldId in self._fields: self._fields[fieldId] = Field(fieldId, val) else: self._fields[fieldId].value = val
def update(self, data, ignore_missing=True): """ Update self with fields from data arg """ for field_id in data.getFields(): field = data.getField(field_id) if self.getField(field_id): self.getField(field_id).value = field.value else: if not ignore_missing: self.addField(Field(field.id, field.value))
def apply(self, features: List[Field]): out_pcs = self.pca_obj.transform( pd.concat([feature.data for feature in features], axis=1).values) out_df = pd.DataFrame(out_pcs, columns=[ self.component_prefix + str(i) for i in range(out_pcs.shape[1]) ]) return [Field.from_data_frame(col, out_df) for col in out_df]
def add_from_data_frame(self, df, exclude_fields, factor_fields=()): factor_fields = set(factor_fields) for col in df: if col in exclude_fields: continue field = Field.from_data_frame(col, df) if field.name in factor_fields: field.reset_meta(isFactor=True) self.field_map[field.name] = field
def predict(self, features: [Field]): return self.model.predict(Field.to_array(features)).flatten()