将PCA的结果放入DataFrame

问题描述 投票:0回答:1

我做过PCA。

我想将这些结果放在数据框中。更具体地说,我想创建一个包含两行和两列的数据帧(在wc_accounts上执行PCA之后的主要组件)

我尝试过:

pca = PCA(n_components=2)
principalComponents = pca.fit(wc_accounts)
data = pca.components_
print(data)
principalDf = pd.DataFrame(data , columns = ['principal component 1', 'principal component 2'])

但是,最后一行给出了错误:ValueError: Shape of passed values is (828, 2), indices imply (2, 2)

因为它太大了我无法完整打印数据。本质上,它是一个由两个数组(长度为828)的浮点数组成的数组:

[[-1.57759323e-02 -1.57759323e-02 -0.00000000e+00 ... -1.57759323e-02
  -3.15518646e-02  1.57759323e-02]
 [-9.99844616e-01  2.06534552e-04  0.00000000e+00 ...  2.06534552e-04
   4.13069105e-04 -2.06534552e-04]]
python pandas dataframe pca
1个回答
0
投票

看起来data的方向相对于pd.DataFrame的预期转换。

所以,您可以使用index代替然后转置:

principalDf = pd.DataFrame(data, index=['principal component 1', 'principal component 2']).T
© www.soinside.com 2019 - 2024. All rights reserved.