#pandas-profiling
#pandas-профилирование
Вопрос:
Мне действительно нравится тепловая карта, но мне нужны числа за тепловой картой (она же корреляционная матрица).
Есть ли простой способ извлечь числа?
Ответ №1:
Это было немного сложно отследить, но, начиная с документации; в частности, из структуры отчета, затем копаясь в следующей функции get_correlation_items(сводка), а затем переходя к источнику и рассматривая его использование, мы переходим к этому вызову, который по существу перебирает каждый из типов корреляции в сводке,чтобы получить объект summary, мы можем найти следующее: если мы ищем вызывающего абонента, мы обнаруживаем, что это get_report_structure(summary), и если мы попытаемся найти, как получить summary
аргумент, мы обнаружим, что это просто description_set
свойство, как показано здесь.
Учитывая вышесказанное, теперь мы можем сделать следующее, используя версию 2.9.0:
import numpy as np
import pandas as pd
from pandas_profiling import ProfileReport
df = pd.DataFrame(
np.random.rand(100, 5),
columns=["a", "b", "c", "d", "e"]
)
profile = ProfileReport(df, title="StackOverflow", explorative=True)
correlations = profile.description_set["correlations"]
print(correlations.keys())
dict_keys(['pearson', 'spearman', 'kendall', 'phi_k'])
Чтобы увидеть конкретную корреляцию, выполните:
correlations["phi_k"]["e"]
a 0.000000
b 0.112446
c 0.289983
d 0.000000
e 1.000000
Name: e, dtype: float64
Комментарии:
1. Ссылка на образец ноутбука, похоже, нарушена