【发布时间】:2017-03-23 11:14:46
【问题描述】:
我在数据框 DF1 的列上运行 PCA,它返回一个主成分数组。 我想创建一个数据框 DF2,它与 DF1 具有相同的索引,并且包含主成分数组中的值。
来自
DF1=
v1 v2 v3
2014-01-02 0.58 0.89 -0.19
2014-01-03 -1.96 0.59 1.24
2014-01-04 2.06 -0.15 3.54
2014-01-05 0.31 1.25 -2.42
2014-01-06 1.31 0.33 0.89
... ... ... ...
PCs=
array([[ 0.14411173, -0.25557942, 0.08295314, ..., -0.24914411,
-0.35242784, 0.17412245],
[ 0.15391876, -0.3063616 , -0.62369197, ..., 0.18915513,
-0.39056901, 0.23227158],
[-0.00493105, -0.31936978, 0.35831582, ..., -0.2781707 ,
-0.29810411, 0.27513239],
[-0.5870741 , 0.16183593, 0.10528634, ..., -0.21776753,
-0.30365561, 0.17920256],
[-0.6353732 , -0.28649561, -0.21702067, ..., 0.36312823,
-0.11915208, -0.36003616]])
(在 PCs 数组中,每一行都是一个 PC) 获取
DF2=
PC1 PC2 PC3
2014-01-02 0.14411173 -0.15391876 ...
2014-01-03 0.25557942 -0.39056901
2014-01-04 ...
2014-01-05
2014-01-06
... ... ... ...
- 如何高效地将 PC 数组放入数据框中?
- 有没有比在数据帧上运行 PCA 然后将数组合并到新数据帧中更好、更有效的方法来获得我想要的结果? (例如,一种直接在数据框中获取 PC 的方法)
【问题讨论】:
标签: python pandas dataframe pca