Сохранение фрейма временных рядов с экономией памяти
У меня в бд лежит куча данных после обработки получается массив 4974917х256х91. Скорее всего после добавления массив перезаписывается но проверить отмасштабированные данные пока не понимаю как.
Мне нужна подсказка, как правильно сохранять данные в Pandas или NumPy?
Беру из бд определённые данные(временной ряд)
df = pd.read_sql(sql=f"""SELECT * FROM ... ORDER BY date;""", con=engine)
если есть пропуски разделяю данные
df2 = df.iloc[i[0]:i[1]]
делаю копию потому-что для добавления нужно проверять на вхождение параметров
train_scaled = df2.copy()
после чего масштабирую
train_scaled[mm[0]] = df2[mm[0]].apply(lambda x: (x - float(mm[1])) / (float(mm[2]) - float(mm[1])))
train_scaled = train_scaled.iloc[:-1].values
дальше происходит магия
X_train = []
X_train.append(train_scaled[i-window:i])
X_train2 = np.array(X_train[:int((len(X_train) / 100) * 5)], dtype=np.float32)
выжирает больше 40 гигов памяти. Я не против если бы был уверен в правильности данных.
Подскажите как это сделать правильно. Заранее спасибо.
