pytest tests/python fails if no pandas installed (#4620)

* _maybe_pandas_xxx should return their arguments unchanged if no pandas installed

* Tests should not assume pandas is installed

* Mark tests which require pandas as such
This commit is contained in:
Oleksandr Pryimak
2019-06-30 11:54:09 -07:00
committed by Jiaming Yuan
parent 45876bf41b
commit 986fee6022
3 changed files with 20 additions and 11 deletions

View File

@@ -226,7 +226,7 @@ PANDAS_DTYPE_MAPPER = {'int8': 'int', 'int16': 'int', 'int32': 'int', 'int64': '
def _maybe_pandas_data(data, feature_names, feature_types):
""" Extract internal data from pd.DataFrame for DMatrix data """
if not isinstance(data, DataFrame):
if not (PANDAS_INSTALLED and isinstance(data, DataFrame)):
return data, feature_names, feature_types
data_dtypes = data.dtypes
@@ -258,7 +258,7 @@ def _maybe_pandas_data(data, feature_names, feature_types):
def _maybe_pandas_label(label):
""" Extract internal data from pd.DataFrame for DMatrix label """
if isinstance(label, DataFrame):
if PANDAS_INSTALLED and isinstance(label, DataFrame):
if len(label.columns) > 1:
raise ValueError('DataFrame for label cannot have multiple columns')