Files
ModelTrainingPython/TVS_DL/LoadData.py

33 lines
1.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import pandas as pd
import torch
import numpy as np
from sklearn.preprocessing import StandardScaler, MinMaxScaler
# 数据预处理
def process_data(file_path):
# 读取Excel文件跳过首行使用科学计数法解析
df = pd.read_excel(file_path, header=None,sheet_name="sample1")
# 提取输入输出数据
inputs = df.iloc[:, 1:9].values.astype(np.float32) # 第2-9列
outputs = df.iloc[:, 10:19].values.astype(np.float32) # 第11-19列
# 数据标准化
input_scaler = StandardScaler()
output_scaler = StandardScaler()
inputs = input_scaler.fit_transform(inputs)
outputs = output_scaler.fit_transform(outputs)
#
# input_scaler = MinMaxScaler(feature_range=(-1, 1))
# output_scaler = MinMaxScaler(feature_range=(-1, 1))
# inputs = input_scaler.fit_transform(inputs)
# outputs = output_scaler.fit_transform(outputs)
return inputs, outputs, input_scaler, output_scaler
# 创建序列数据集 look_back依据时间序列 pred_step推测时间序列
def create_sequences(inputs, outputs, look_back=8, pred_step=1):
X, y = [], []
for i in range(len(inputs) - look_back - pred_step):
X.append(inputs[i:i + look_back])
y.append(outputs[(i+look_back):(i+look_back+pred_step)])
return torch.FloatTensor(np.array(X)), torch.FloatTensor(np.array(y))