import pandas as pd
from pandas import DataFrame
import numpy as np
from sklearn.decomposition import PCA
Create a DataFrame
full of random numbers.
df = pd.DataFrame(data=np.random.normal(0, 1, (50, 8)))
df.head()
Fit the PCA
.
pca = PCA(n_components=4)
pca.fit(df)
Apply the transformation and convert the result into a DataFrame
.
columns = ['pca_%i' % i for i in range(4)]
df_pca = DataFrame(pca.transform(df), columns=columns, index=df.index)
df_pca.head()