def transform(self, data): """Project data into principal component space Parameters ---------- data : Series or a subclass (e.g. RowMatrix) Data to estimate independent components from, must be a collection of key-value pairs where the keys are identifiers and the values are one-dimensional arrays Returns ------- scores : RowMatrix, nrows, each of shape (k,) The scores (i.e. the representation of the data in PC space) """ if not (isinstance(data, Series)): raise Exception('Input must be Series or a subclass (e.g. RowMatrix)') if type(data) is not RowMatrix: data = RowMatrix(data) mat = data.center(0) scores = mat.times(self.comps.T / self.latent) return scores