Skip to content

Commit 27578ba

Browse files
committed
fix col name error when fetch data
1 parent 41dc91b commit 27578ba

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

qlib/contrib/model/gbdt.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ def _prepare_data(self, dataset: DatasetH, reweighter=None) -> List[Tuple[lgb.Da
3434
assert "train" in dataset.segments
3535
for key in ["train", "valid"]:
3636
if key in dataset.segments:
37-
df = dataset.prepare(key, col_set=["feature_x", "label"], data_key=DataHandlerLP.DK_L)
37+
df = dataset.prepare(key, col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
3838
if df.empty:
3939
raise ValueError("Empty data from dataset, please check your dataset config.")
40-
x, y = df["feature_x"], df["label"]
40+
x, y = df["feature"], df["label"]
4141

4242
# Lightgbm need 1D array as its label
4343
if y.values.ndim == 2 and y.values.shape[1] == 1:
@@ -92,7 +92,7 @@ def fit(
9292
def predict(self, dataset: DatasetH, segment: Union[Text, slice] = "test"):
9393
if self.model is None:
9494
raise ValueError("model is not fitted yet!")
95-
x_test = dataset.prepare(segment, col_set="feature_x", data_key=DataHandlerLP.DK_I)
95+
x_test = dataset.prepare(segment, col_set="feature", data_key=DataHandlerLP.DK_I)
9696
return pd.Series(self.model.predict(x_test.values), index=x_test.index)
9797

9898
def finetune(self, dataset: DatasetH, num_boost_round=10, verbose_eval=20, reweighter=None):

qlib/data/dataset/loader.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,10 @@ def load(self, instruments=None, start_time=None, end_time=None) -> pd.DataFrame
339339
if df_full is None:
340340
df_full = df_current
341341
else:
342+
current_columns = df_current.columns.tolist()
343+
full_columns = df_full.columns.tolist()
344+
columns_to_drop = [col for col in current_columns if col in full_columns]
345+
df_full.drop(columns=columns_to_drop, inplace=True)
342346
df_full = pd.merge(df_full, df_current, left_index=True, right_index=True, how=self.join)
343347
return df_full.sort_index(axis=1)
344348

0 commit comments

Comments
 (0)