Преобразование списка массивов для построения графиков с использованием matplotlib в Python - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь создать скользящие регрессии, используя пакет sklearn, и затем построить их с помощью matplotlib.

Мне удалось получить коэффициенты скользящей регрессии, но добавление выходных данных приводит к созданию трехмерного списка, в котором у меня возникают трудности при построении графика.

В приведенном ниже коде выдается следующая ошибка:

ValueError: x и y могут быть не больше 2-D, но иметь формы (130,) и (130, 1,5)

rCoeff = []
lm = sk_l.LinearRegression()
for iS in range(1, len(y)-(rollingN-1)):

    iE = iS+(rollingN-1)
    subX = X[iS:iE]
    suby = y[iS:iE]

    lm.fit(subX,suby)
    rCoeff.append(lm.coef_)

x = df_cpf.loc[36:166,'Date']
plt.plot_date(x,rCoeff)

Существует ли метод "сжатия" трехмерного списка в 2 измерения или какой-либо другой метод, позволяющий отображать этот график?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Оказывается, с помощью метода extend() вместо метода append() все получилось.

rCoeff = []
lm = sk_l.LinearRegression()
for iS in range(1, len(y)-(rollingN-1)):

    iE = iS+(rollingN-1)
    subX = X[iS:iE]
    suby = y[iS:iE]

    lm.fit(subX,suby)
    rCoeff.extend(lm.coef_)

x = df_cpf.loc[36:166,'Date']
plt.plot_date(x,rCoeff)
0 голосов
/ 28 сентября 2018

Вы можете изменить свой массив, выполнив:

X_reshaped = X.reshape(130, 5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...