Я хочу изменить порядок столбцов файла CSV на основе корреляционной матрицы (которая рассчитывается на файл CSV). Я использовал набор данных IRIS и получил следующую корреляционную матрицу
sepal_length sepal_width petal_length petal_width
sepal_length 1,000000 -0,109369 0,871754 0,817954
sepal_width -0.109369 1.000000 -0.420516 -0.356544
длина лепестка 0,871754 -0,420516 1,000000 0,962757
petal_width 0,817954 -0,356544 0,962757 1,000000
Теперь я хочу переставить столбцы csv, чтобы столбцы с высокой корреляцией располагались рядом друг с другом. Позже я буду генерировать графики на основе нового CSV.
Вот код, в котором я пытаюсь решить мою проблему, но это решение не подходит для больших CSV-файлов data = pd.read_csv('data.csv') if ((a['sepal_length']['sepal_width']) < (a['sepal_length']['petal_length']))and(a['sepal_length']['sepal_width']) < (a['sepal_length']['petal_width'])and (a['sepal_length']['petal_width']) < (a['sepal_length']['petal_length']): df1_reorder = df1[['sepal_length', 'petal_length', 'sepal_width', 'petal_width', 'species']] # rearrange column here df1_reorder.to_csv('sample_reorder3.csv', index=False)