Преобразование списка массивов для построения графиков с использованием matplotlib в Python

1

Я пытаюсь произвести регрессию с использованием пакета 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)

Есть ли способ "сжимать" 3D-список в 2 измерения или какой-либо другой метод, чтобы это можно было построить?

Теги:
pandas
matplotlib
python-3.x
sklearn-pandas

2 ответа

0
Лучший ответ

Оказывается, используя метод 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

Вы можете изменить размер массива, выполнив следующие действия:

X_reshaped = X.reshape(130, 5)
  • 0
    кажется, не в состоянии изменить форму объекта списка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню