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, когда я могу просто вставить ряд в функцию.