len() негабаритного объекта ex. num_var= len(energy.iloc[1,:])

Я продолжаю получать "TypeError: len() объекта без размера" при попытке создать график, который использует индекс в качестве значения x и цену в качестве значения y.

def tsplot2(y, title, lags=None, figsize=(12,8)):
if not isinstance(y, pd.Series):
    y = pd.Series(y)
    fig= plt.figure(figsize=figsize)
    layout=(2,2)
    ts_ax=plt.subplot2grid(layout, (0,0))
    hist_ax=plt.subplot2grid(layout, (0,1))
    acf_ax=plt.subplot2grid(layout, (1,0))
    pacf_ax=plt.subplot2grid(layout, (1,1))

    y.plot(ax=ts_ax)
    ts_ax.set_title(title, fontsize=14, fontweight='bold')
    y.plot(ax=hist_ax, kind='hist', bins=25)
    hist_ax.set_title('Histogram')
    smt.graphics.plot_acf(y, lags=lags, ax=acf_ax)
    smt.graphics.plot_pacf(y, lags=lags, ax=pacf_ax)
    sns.despine()
    plt.tight_layout()
    return ts_ax, acf_ax, pacf_ax


num_var= len(series.iloc[1,:])
for i in range(0, num_var):
    tsplot2(series.iloc[:,i].dropna() , title=series.columns[i], lags=48)

1 ответ

Я исправил код. Я исключил "если не isinstance(y, pd.Series): y = pd.Series(y)" Также нет необходимости использовать цикл for, когда я могу просто вставить ряд в функцию.

Другие вопросы по тегам