Матрицы разброса Python из фрейма данных со слишком большим количеством столбцов

Я новичок в Python и науке о данных, и в настоящее время я работаю над проектом, основанным на очень большом фрейме данных с 75 столбцами. Я занимаюсь исследованием данных и хочу проверить возможные корреляции между столбцами. Я знаю, что для меньших фреймов данных я могу использовать pandas plotting.scatter_matrix() в фрейме данных, чтобы сделать это. Однако в моем случае это дает матрицу 75x75 - и я даже не могу визуализировать отдельные графики.

Альтернативой может быть создание списков из 5 столбцов и многократное использование scatter_matrix, но этот метод создаст слишком много матриц рассеяния. Например, с 15 столбцами это будет:


import pandas as pd

df = pd.read_csv('dataset.csv')

list1 = [df.iloc[:, i] for i in range(5)]
list2 = [df.iloc[:, i+5] for i in range(5)]
list3 = [df.iloc[:, i+10] for i in range(5)]

pd.plotting.scatter_matrix(df_acoes[list1])
pd.plotting.scatter_matrix(df_acoes[list2])
pd.plotting.scatter_matrix(df_acoes[list3])

Чтобы использовать тот же метод с 75 столбцами, мне пришлось бы продолжить, пока list15. Это выглядит очень неэффективно. Интересно, есть ли лучший способ изучить корреляции в моем наборе данных.

1 ответ

Решение

Проблема здесь в меньшей степени в технической части. Изготовление участков (в номере 5625) займет достаточно много времени. Кроме того, графики займут немного памяти.

Поэтому я бы задала несколько вопросов, чтобы обойти проблемы:

  • Неужели действительно необходимо иметь все эти точечные диаграммы?
  • Могу ли я заранее уменьшить габариты?
  • Почему у меня такое большое количество измерений?

Если графики действительно полезны, вы можете создать их самостоятельно и склеить или подождать, пока функция будет готова.

Другие вопросы по тегам