我已经尝试过可用的解决方案,但它不起作用。
我试图在一个数据帧上计算滚动PCA,并在另一个数据帧中返回结果。我尝试过下面的代码与df.rolling(200).apply(my_pca)
结合使用,但它只计算1个结果
def my_pca(data):
pca = PCA(n_components=1)
transf = pca.fit_transform(data)
pcadf = pd.DataFrame(pca.components_[0,:]).T
return pcadf
问题-我想存储所有滚动pca.components_[0,:]
(这些只是PC1的加载)。我如何用最近200天的数据计算每天的负荷
我的数据是1000行10列,索引为日期。因此,第一次PCA将从使用最后200天数据计算的第200天开始,并且pca.components_[0,:]
的结果应存储在一个新的数据框中,该数据框具有与数据相同的日期索引和10列,每列显示pca.components_[0,:]
的结果。最后,新的数据帧应该显示800pca.components_[0,:]
的时间序列
目前没有回答
相关问题 更多 >
编程相关推荐