MCPcopy Create free account
hub / github.com/Anoise/WTFlib / __read_data__

Method __read_data__

LDPS_Graph/data_provider/data_loader.py:221–271  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

219 self.__read_data__()
220
221 def __read_data__(self):
222 self.scaler = StandardScaler()
223 df_raw = pd.read_csv(os.path.join(self.root_path,
224 self.data_path))
225
226 '''
227 df_raw.columns: ['date', ...(other features), target feature]
228 '''
229 cols = list(df_raw.columns)
230 cols.remove(self.target)
231 cols.remove('date')
232 df_raw = df_raw[['date'] + cols + [self.target]]
233 # print(cols)
234 num_train = int(len(df_raw) * 0.7)
235 num_test = int(len(df_raw) * 0.2)
236 num_vali = len(df_raw) - num_train - num_test
237 border1s = [0, num_train - self.seq_len, len(df_raw) - num_test - self.seq_len]
238 border2s = [num_train, num_train + num_vali, len(df_raw)]
239 border1 = border1s[self.set_type]
240 border2 = border2s[self.set_type]
241
242 if self.features == 'M' or self.features == 'MS':
243 cols_data = df_raw.columns[1:]
244 df_data = df_raw[cols_data]
245 elif self.features == 'S':
246 df_data = df_raw[[self.target]]
247
248 if self.scale:
249 train_data = df_data[border1s[0]:border2s[0]]
250 self.scaler.fit(train_data.values)
251 # print(self.scaler.mean_)
252 # exit()
253 data = self.scaler.transform(df_data.values)
254 else:
255 data = df_data.values
256
257 df_stamp = df_raw[['date']][border1:border2]
258 df_stamp['date'] = pd.to_datetime(df_stamp.date)
259 if self.timeenc == 0:
260 df_stamp['month'] = df_stamp.date.apply(lambda row: row.month, 1)
261 df_stamp['day'] = df_stamp.date.apply(lambda row: row.day, 1)
262 df_stamp['weekday'] = df_stamp.date.apply(lambda row: row.weekday(), 1)
263 df_stamp['hour'] = df_stamp.date.apply(lambda row: row.hour, 1)
264 data_stamp = df_stamp.drop(['date'], 1).values
265 elif self.timeenc == 1:
266 data_stamp = time_features(pd.to_datetime(df_stamp['date'].values), freq=self.freq)
267 data_stamp = data_stamp.transpose(1, 0)
268
269 self.data_x = data[border1:border2]
270 self.data_y = data[border1:border2]
271 self.data_stamp = data_stamp
272
273 def __getitem__(self, index):
274 s_begin = index

Callers 1

__init__Method · 0.95

Calls 3

time_featuresFunction · 0.90
StandardScalerClass · 0.50
transformMethod · 0.45

Tested by

no test coverage detected