Search code examples
pythonpandasnumpykerassklearn-pandas

Expected 2D array, got 1D array


I'm running the following code from github, but I'm getting an error. What's wrong?

https://github.com/susanli2016/Machine-Learning-with-Python/blob/master/Time%20Series%20ANN%20%26%20LSTM%20VIX.ipynb

Cell:

# scale train and test data to [-1, 1]
scaler = MinMaxScaler(feature_range=(-1, 1))
train_sc = scaler.fit_transform(train)
test_sc = scaler.transform(test)

Error:

ValueError: Expected 2D array, got 1D array instead:
array=[17.24     18.190001 19.219999 ... 10.47     10.18     11.04    ].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

Solution

  • Solved the problem adding the methods below, which apparently transform train and test objects to numpy arrays. Is that correct?

    scaler = MinMaxScaler(feature_range=(-1, 1))
    train_sc = scaler.fit_transform(train.values.reshape(-1, 1))
    test_sc = scaler.transform(test.values.reshape(-1,1))