From 5a567ec24979ddd3bd033f336ff15585e736701e Mon Sep 17 00:00:00 2001 From: Sean Owen Date: Tue, 21 May 2019 03:19:35 -0500 Subject: [PATCH] Ensure pandas DataFrame column names are treated as strings in type error message (#4481) --- python-package/xgboost/core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python-package/xgboost/core.py b/python-package/xgboost/core.py index ff1474037..75764806f 100644 --- a/python-package/xgboost/core.py +++ b/python-package/xgboost/core.py @@ -231,7 +231,7 @@ def _maybe_pandas_data(data, feature_names, feature_types): data_dtypes = data.dtypes if not all(dtype.name in PANDAS_DTYPE_MAPPER for dtype in data_dtypes): - bad_fields = [data.columns[i] for i, dtype in + bad_fields = [str(data.columns[i]) for i, dtype in enumerate(data_dtypes) if dtype.name not in PANDAS_DTYPE_MAPPER] msg = """DataFrame.dtypes for data must be int, float or bool.