У меня есть фрейм данных Pandas с несколькими записями, и я хочу рассчитать корреляцию между доходами магазинов определенного типа. Есть ряд магазинов с данными о доходах, классификацией области деятельности (театр, магазины одежды, продукты питания ...) и другими данными.
Я попытался создать новый фрейм данных и вставить столбец с доходами всех видов магазинов, принадлежащих к той же категории, а в возвращаемом фрейме данных заполнен только первый столбец, а в остальных - NaN. Код, который мне надоел:
corr = pd.DataFrame()
for at in activity:
stores.loc[stores['Activity']==at]['income']
Я хочу сделать это, поэтому я могу использовать, .corr()
чтобы дать матрицу корреляции между категориями магазинов.
После этого я хотел бы знать, как я могу построить матричные значения (от -1 до 1, так как я хочу использовать корреляцию Пирсона) с matplolib.
Ответы:
Я предлагаю какую-то игру на следующем:
Используя данные UCI Abalone для этого примера ...
Функция построения корреляционной матрицы:
# Корреляционная матричная функция построения
Надеюсь это поможет!
источник
import numpy as np
не нужна, не так ли?cbar
, так почему вы назначаете это?Другой альтернативой является использование функции тепловой карты в морском заливе для построения ковариации. В этом примере используется набор данных Auto из пакета ISLR в R (так же, как в примере, который вы показали).
Если вы хотите быть еще более модным, вы можете использовать Pandas Style , например:
источник
rpy
модуль. Вам нужно использовать автономный проектrpy2
. Смотрите предупреждение от панд здесь .Почему бы просто не сделать это:
Вы можете изменить цветовую палитру с помощью
cmap
параметра:источник