我真的很困惑,試圖解決這個問題。我試圖使用sklearn函數:MinMaxScaler
但我得到一個錯誤,因爲它似乎是我設置序列的數組元素。列表中的數組
的代碼是:
raw_values = series.values
# transform data to be stationary
diff_series = difference(raw_values, 1);
diff_values = diff_series.values;
diff_values = diff_values.reshape(len(diff_values), 1)
# rescale values to 0,1
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_values = scaler.fit_transform(diff_values); print(scaled_values)
scaled_values = scaled_values.reshape(len(scaled_values), 1)
「系列」是,我試圖用MinMaxScaler
[0,1]之間重新調整一個差分時間序列和時間序列大熊貓以前求差。
我運行代碼時出現以下錯誤: ValueError: setting an array element with a sequence.
,我不明白的是,如果只有一個feature
或一列變量,代碼運行良好,但在這種情況下我有2 features
,每一個在不同的列。
回溯:
File "C:/....py", line 88, in prepare_data
scaled_values = scaler.fit_transform(diff_values); print(scaled_values)
File "C:\Users\name\AppData\Roaming\Python\Python35\site-packages\sklearn\base.py", line 494, in fit_transform
return self.fit(X, **fit_params).transform(X)
File "C:\Users\name\AppData\Roaming\Python\Python35\site-packages\sklearn\preprocessing\data.py", line 292, in fit
return self.partial_fit(X, y)
File "C:\Users\name\AppData\Roaming\Python\Python35\site-packages\sklearn\preprocessing\data.py", line 318, in partial_fit
estimator=self, dtype=FLOAT_DTYPES)
File "C:\Users\name\AppData\Roaming\Python\Python35\site-packages\sklearn\utils\validation.py", line 382, in check_array
array = np.array(array, dtype=dtype, order=order, copy=copy)
ValueError: setting an array element with a sequence.
而這就是我得到如果我打印diff_values
[[array([ -1.3, 119. ])]
[array([ 0.5, -9. ])]
[array([ 0.8, 17. ])]
...,
[array([ 2.8, 742. ])]
[array([ 1.50000000e+00, -1.65900000e+03])]
[array([ -2., 856.])]]
是不是我的,它已經從here
編輯獲得完整的代碼:
Here是我的數據集
只需切換名稱「洗髮水,sales.csv'to 'datos2.csv',這句話:
return datetime.strptime('190'+x, '%Y-%m')
這一個:
return datetime.strptime(''+x, '%Y-%m-%d')
你可以包括完整的追蹤和/或給出'series'爲例分配(所以我們可以重現錯誤) –
當然,我也要去在文章中包含完整的代碼 – Jvr
您還可以發佈您的數據(或其中的一部分),以便我們可以重現錯誤。 –