Я пишу функцию для проверки функций, которые коррелированы выше определенного порога, и затем объединяет их в одну функцию с PCA, но как только цикл встречает значение, которое он уже удалил из набора данных, он перестает работать.Я попытался добавить исключение, но я неопытен с ним, поэтому он просто пропускает код и завершает работу до конца функции.Вот код, чтобы было более понятно, что я делаю:
def compress_2_similar(df, threshold):
#import PCA
pca = PCA(n_components = 1)
#iterating trough features in the data set
for df_feature in list(df):
for feature, value in df.corr()[df_feature].sort_values(ascending=False).iteritems():
try:
if abs(value) >= threshold:
if corr_feature != feature:
new_feature_name = feature,' + ',corr_feature
df[new_feature_name] = pca.fit_transform(df[[feature, corr_feature]])
df = df.drop([feature, corr_feature], axis=1)
else:
pass
else:
pass
except KeyError:
continue
return df
Заранее спасибо за помощь!