在這種情況下如何修復屬性錯誤?我有一個 pandas 資料框,我在其中進行了一些資料切片和轉換,并且我想繪制 persistence_model 函式的結果,如下所示。
編輯:我想自定義一個具有特定繪圖示題、y 和 x 軸的函式,并根據 persitence_model 函式的結果在同一繪圖上創建一條水平線。
class ResidualErrors():
def __init__(self, data: pd.Series):
self.data = data
def _persistence_forecast_model_nrows(self, test_rows):
slicer = test_rows 1
errors = self.data[-slicer:].diff().dropna()
return errors
def _persistence_forecast_model_percrows(self, train_perc):
n = len(self.data)
ntrain = int(n * train_perc)
errors = self.data[ntrain:].diff().dropna()
return errors
def persistence_model(self, test_rows=None, train_perc=None):
if (not test_rows) and (not train_perc):
raise TypeError(r"Please provide 'test_rows' or 'train_perc' arguments.")
if test_rows and train_perc:
raise TypeError(r"Please choose one argument either 'test_rows' or 'train_perc'.")
if test_rows:
return self._persistence_forecast_model_nrows(test_rows)
else:
return self._persistence_forecast_model_percrows(train_perc)
@classmethod
def plot_residuals(obj):
obj.plot()
plt.show()
期望的輸出
res = ResidualErrors(data).persistence_model(test_rows=10)
res.plot_residuals()
>> AttributeError: 'Series' object has no attribute 'plot_residuals'
uj5u.com熱心網友回復:
您需要更加了解回傳的方法。第一步創建一個ResidualErrors物件:
res = ResidualErrors(data)
第二步創建一個DataFrameor Series:
obj = res.persistence_model(test_rows=10)
您可以呼叫plot_residualsonres但不能呼叫obj,就像您目前正在做的那樣:
res.plot_residuals(obj)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/498111.html
上一篇:Flutter將TextEditingController作為引數傳遞給類
下一篇:Symfony6php8物體表單
