我的规范化代码的性能增强

时间:2018-03-13 10:36:32

标签: python python-3.x pandas machine-learning

Hello stackoverflow,

我正在研究LSTM网络,它预测股票价格。 我正在规范大约270mb的数据。这导致大约130万行需要标准化。

这段代码很慢。我在电脑上连续运行了64个小时,但仍然没有完成。

我对python很新,所以我知道怎么写它,但我不知道如何优化它。我也不知道这段代码中最慢的部分是什么。

model_data是一个pandas数据帧。

我希望有人可以提供一些提示!

norm_cols = ['close_price'] + ['engagement'] + ['volume']
window_len = 64
pred_range = 6

def normalize(model_data,norm_cols,window_len,pred_range):
    LSTM_training_inputs = []
    LSTM_training_outputs = []

    for i in range(len(model_data)-window_len-pred_range):
        temp_set = model_data[i:(i+window_len)].copy()
        for col in norm_cols:
            temp_set.loc[:, col] = model_data[col]/model_data[col].iloc[0] - 1
        LSTM_training_inputs.append(temp_set)
    for i in range(window_len, len(model_data['close_price'])-pred_range):
        LSTM_training_outputs.append((model_data['close_price'][i:i+pred_range].values/
                                    model_data['close_price'].values[i-window_len])-1)
    return [LSTM_training_inputs,LSTM_training_outputs]

0 个答案:

没有答案