Создать гистограмму в первой строке матрицы корреляции - PullRequest
0 голосов
/ 16 января 2019

У меня есть фрейм данных с 6 переменными, для которого я создал матрицу корреляции, используя corr_matrix = data.corr ().Я хочу создать гистограмму со значениями ниже 0,03, 0,8, 0,02, 0,1 и 0,95 только для получения корреляций только с close_returns (не учитывая корреляцию close_returns с самой собой = 1,0).Кажется, существует проблема с точки зрения преобразования значений в матрице корреляции в плавающее значение для использования для гистограммы.

          close_returns open    high      low       close_price  volume     
close_returns   1.0     0.03    0.8       0.02      0.1           0.95
open            ...     ....    ...       ....      ...           ....
high            ...     ....    ...       ....      ...           ....
low             ...     ....    ...       ....      ...           ....
close_price     ...     ....    ...       ....      ...           ....
volume          ...     ....    ...       ....      ...           ....

В настоящее время мне приходится присваивать корреляции переменной вручную, как показано ниже.Я попытался преобразовать матрицу корреляции в число с плавающей запятой, используя corr_open2 = pd.to_numeric (corr_open), но не работает.

corr_matrix = data.corr()
corr_matrix

corr_open=0.03
corr_high=0.8
corr_low=0.02
corr_close_price=0.1
corr_volume=0.95


import matplotlib.pyplot as plt; plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt

objects = ('open', 'high', 'low', 'close_price', 'volume')
 y_pos = np.arange(len(objects))
correlation = [0.03, 0.8, 0.02, 0.1, 0.95]
# this does not work 
# correlation = [corr_open, corr_high, corr_low, corr_close, corr_volume]

plt.bar(y_pos, correlation, align='center', alpha=0.5)
plt.xticks(y_pos, objects, fontsize=9, rotation=90)
plt.ylabel('Correlation', fontsize=11)
plt.yticks(size = 9)
plt.title('Correlations with Close Returns', fontsize=12)

plt.show()
...