应用sklearn时保留pandas索引

Mar*_*rko 6 pandas scikit-learn

我有一个具有 DateTime 索引的数据集,并且我正在使用 sklearn 中的 PCA 来减少维数。

以下问题困扰着我 - PCA 会保留我的系列中点的顺序,以便我可以重用原始数据帧中的索引吗?

df = pd.DataFrame(...)
df2 = pca.fit_transform(df)
df2.index = df.index
Run Code Online (Sandbox Code Playgroud)

此外,还有比这样做更好(更安全)的方法吗?

use*_*079 2

虽然索引被 PCA 删除,但行的基本顺序仍然保留(请参阅 PCA* 变换函数的实现)。所以 df2.index = df1.index 是安全的

*fit_transform 与先拟合然后变换相同。他们都没有重新排序行。