Wenn ich meinen Code unter Verwendung print(xdata[0:1, 0:1, :])
starte, bekam ich die erste Zeile des Arrays, aber wenn ich mit print(state)
starte, bekam ich eine Reihe von Array, die in xdata enthalten, aber ich weiß nicht, warum ich das bekam.Warum erhalte ich unterschiedliche Ausgaben, wenn ich denselben Code aber anderen Namen verwende?
def load_data(test=False):
#prices = pd.read_pickle('data/OILWTI_1day.pkl')
#prices = pd.read_pickle('data/EURUSD_1day.pkl')
#prices.rename(columns={'Value': 'close'}, inplace=True)
prices = pd.read_pickle('D:\data/XBTEUR_1day.pkl')
prices.rename(columns={'Open': 'open', 'High': 'high', 'Low': 'low', 'Close': 'close', 'Volume (BTC)': 'volume'}, inplace=True)
x_train = prices.iloc[-2000:-300,]
x_test= prices.iloc[-2000:,]
if test:
return x_test
else:
return x_train
def init_state(indata, test=False):
close = indata['close'].values
diff = np.diff(close)
diff = np.insert(diff, 0, 0)
sma15 = SMA(indata, timeperiod=15)
sma60 = SMA(indata, timeperiod=60)
rsi = RSI(indata, timeperiod=14)
atr = ATR(indata, timeperiod=14)
#--- Preprocess data
xdata = np.column_stack((close, diff, sma15, close-sma15, sma15-sma60, rsi, atr))
xdata = np.nan_to_num(xdata)
if test == False:
scaler = preprocessing.StandardScaler()
xdata = np.expand_dims(scaler.fit_transform(xdata), axis=1)
joblib.dump(scaler, 'D:\data/scaler.pkl')
elif test == True:
scaler = joblib.load('D:\data/scaler.pkl')
xdata = np.expand_dims(scaler.fit_transform(xdata), axis=1)
state = xdata[0:1, 0:1, :]
return state, xdata, close
indata = load_data(test=True)
A = init_state(indata, test=False)
print(xdata[0:1, 0:1, :])
Vielen Dank, Sie sparen meine Zeit. – Papadoojha