class_docstr: Transformer that performs principal component analysis (PCA) to the
  multivariate time series (every time point is treated as a point in high-
  dimensional space), and represents those points with their projection on
  the first k principal components.
  
  Parameters
  ----------
  k: int, optional
      Number of principal components to use. Default: 1.
code: def _fit_core(self, df: pd.DataFrame) -> None:
      self._model = PCA(n_components=self.k)
      if df.dropna().empty:
          raise RuntimeError(
              "Valid values are not enough for training."
          )
      self._model.fit(df.dropna().values)
  
imports: from typing import Any, Callable, Dict, Optional, Tuple, Union
  import pandas
  from sklearn.decomposition import PCA
  from .._transformer_base import _NonTrainableMultivariateTransformer, _TrainableMultivariateTransformer
label_desc: Use image node_id 3 for calling the PcaProjection obj's underlying member method code with example usage: obj._fit_core(df) without return types