georgedouzas / sports-betting

Collection of sports betting AI tools.
https://georgedouzas.github.io/sports-betting
MIT License
359 stars 67 forks source link

DataFrame constructor not properly called. #8

Closed Garand0o0 closed 2 years ago

Garand0o0 commented 2 years ago

Hi, I ran the following code:

from sportsbet.datasets import SoccerDataLoader
from sportsbet.evaluation import ClassifierBettor
from sklearn.dummy import DummyClassifier
from sklearn.model_selection import cross_val_score, TimeSeriesSplit

dataloader = SoccerDataLoader(param_grid={'league': ['Spain']})
X_train, Y_train, O_train = dataloader.extract_train_data(
    drop_na_thres=1.0, odds_type='market_maximum'
)

And I got the following error:

    X_train, Y_train, O_train = dataloader.extract_train_data(
  File "D:\anaconda3\envs\py38\lib\site-packages\sportsbet\datasets\_soccer\_data.py", line 473, in extract_train_data
    X, Y, O = super(SoccerDataLoader, self).extract_train_data(
  File "D:\anaconda3\envs\py38\lib\site-packages\sportsbet\datasets\_base.py", line 281, in extract_train_data
    self._check_param_grid()
  File "D:\anaconda3\envs\py38\lib\site-packages\sportsbet\datasets\_base.py", line 94, in _check_param_grid
    full_params_grid_df = pd.DataFrame(self.PARAMS)
  File "D:\anaconda3\envs\py38\lib\site-packages\pandas\core\frame.py", line 509, in __init__
    raise ValueError("DataFrame constructor not properly called!")
ValueError: DataFrame constructor not properly called!

my environment is

python=3.8
pandas = 1.4.3

How should I solve this problem? Thanks.

georgedouzas commented 2 years ago

Hi,

Sorry for the delay. The problem is the python version. It should be >= 3.9.