2017-02-01 2 views
0

У меня есть набор данных с индексом DateTime, и я использую PCA из sklearn, чтобы уменьшить количество измерений.Сохранять индекс pandas при применении sklearn

Следующий вопрос об ошибках - будет ли PCA поддерживать порядок точек в моей серии, чтобы я мог повторно использовать индекс из исходного фрейма?

df = pd.DataFrame(...) 
df2 = pca.fit_transform(df) 
df2.index = df.index 

Более того, есть ли более лучший (безопасный) подход, чем это делать?

+0

Возможно, переиндексирование поможет - 'pca.fit_transform (df) .reindex (index = df.index)'? –

+0

И есть ли разница в том, что я делаю? – Marko

+0

Не похоже. Это избавит вас от ненужного повторного назначения оси индекса. –

ответ

0

Хотя индексы удаляются PCA, но основной порядок строк остается (см. Реализацию для функции преобразования PCA *). Поэтому безопасно иметь df2.index = df1.index

* fit_transform такой же, как подходит, а затем преобразовывается. Ни один из них не меняет порядок строк.

Смежные вопросы