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

Method __read_data__

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

Source from the content-addressed store, hash-verified

319 self.__read_data__()
320
321 def __read_data__(self):
322 self.scaler = StandardScaler()
323 df_raw = pd.read_csv(os.path.join(self.root_path,
324 self.data_path))
325 '''
326 df_raw.columns: ['date', ...(other features), target feature]
327 '''
328 if self.cols:
329 cols = self.cols.copy()
330 cols.remove(self.target)
331 else:
332 cols = list(df_raw.columns)
333 cols.remove(self.target)
334 cols.remove('date')
335 df_raw = df_raw[['date'] + cols + [self.target]]
336 border1 = len(df_raw) - self.seq_len
337 border2 = len(df_raw)
338
339 if self.features == 'M' or self.features == 'MS':
340 cols_data = df_raw.columns[1:]
341 df_data = df_raw[cols_data]
342 elif self.features == 'S':
343 df_data = df_raw[[self.target]]
344
345 if self.scale:
346 self.scaler.fit(df_data.values)
347 data = self.scaler.transform(df_data.values)
348 else:
349 data = df_data.values
350
351 tmp_stamp = df_raw[['date']][border1:border2]
352 tmp_stamp['date'] = pd.to_datetime(tmp_stamp.date)
353 pred_dates = pd.date_range(tmp_stamp.date.values[-1], periods=self.pred_len + 1, freq=self.freq)
354
355 df_stamp = pd.DataFrame(columns=['date'])
356 df_stamp.date = list(tmp_stamp.date.values) + list(pred_dates[1:])
357 if self.timeenc == 0:
358 df_stamp['month'] = df_stamp.date.apply(lambda row: row.month, 1)
359 df_stamp['day'] = df_stamp.date.apply(lambda row: row.day, 1)
360 df_stamp['weekday'] = df_stamp.date.apply(lambda row: row.weekday(), 1)
361 df_stamp['hour'] = df_stamp.date.apply(lambda row: row.hour, 1)
362 df_stamp['minute'] = df_stamp.date.apply(lambda row: row.minute, 1)
363 df_stamp['minute'] = df_stamp.minute.map(lambda x: x // 15)
364 data_stamp = df_stamp.drop(['date'], 1).values
365 elif self.timeenc == 1:
366 data_stamp = time_features(pd.to_datetime(df_stamp['date'].values), freq=self.freq)
367 data_stamp = data_stamp.transpose(1, 0)
368
369 self.data_x = data[border1:border2]
370 if self.inverse:
371 self.data_y = df_data.values[border1:border2]
372 else:
373 self.data_y = data[border1:border2]
374 self.data_stamp = data_stamp
375
376 def __getitem__(self, index):
377 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