Fix MultiIndex detection (breaks for latest pandas==0.21.0). (#2872)
This commit is contained in:
parent
77ae4c8701
commit
16c63f30d0
@ -33,9 +33,14 @@ except ImportError:
|
||||
# pandas
|
||||
try:
|
||||
from pandas import DataFrame
|
||||
from pandas import MultiIndex
|
||||
PANDAS_INSTALLED = True
|
||||
except ImportError:
|
||||
|
||||
class MultiIndex(object):
|
||||
""" dummy for pandas.MultiIndex """
|
||||
pass
|
||||
|
||||
class DataFrame(object):
|
||||
""" dummy for pandas.DataFrame """
|
||||
pass
|
||||
|
||||
@ -15,7 +15,7 @@ import scipy.sparse
|
||||
|
||||
from .libpath import find_lib_path
|
||||
|
||||
from .compat import STRING_TYPES, PY3, DataFrame, py_str, PANDAS_INSTALLED
|
||||
from .compat import STRING_TYPES, PY3, DataFrame, MultiIndex, py_str, PANDAS_INSTALLED
|
||||
|
||||
# c_bst_ulong corresponds to bst_ulong defined in xgboost/c_api.h
|
||||
c_bst_ulong = ctypes.c_uint64
|
||||
@ -184,7 +184,7 @@ Did not expect the data types in fields """
|
||||
raise ValueError(msg + ', '.join(bad_fields))
|
||||
|
||||
if feature_names is None:
|
||||
if hasattr(data.columns, 'to_frame'): # MultiIndex
|
||||
if isinstance(data.columns, MultiIndex):
|
||||
feature_names = [
|
||||
' '.join(map(str, i))
|
||||
for i in data.columns
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user