Мне удалось воспроизвести пример, приведенный в репозитории Github. Однако когда я попробовал это на своих данных, у меня возникла ошибка ValueError.
Ниже приведены фиктивные данные, которые дают ту же ошибку, что и мои настоящие данные.
import pandas as pd
import numpy as np
from sklearn_pandas import DataFrameMapper
from sklearn.preprocessing import LabelEncoder, StandardScaler, MinMaxScaler
data = pd.DataFrame({'pet':['cat', 'dog', 'dog', 'fish', 'cat', 'dog','cat','fish'], 'children': [4., 6, 3, 3, 2, 3, 5, 4], 'salary': [90, 24, 44, 27, 32, 59, 36, 27], 'feat4': ['linear', 'circle', 'linear', 'linear', 'linear', 'circle', 'circle', 'linear']})
mapper = DataFrameMapper([
(['pet', 'feat4'], LabelEncoder()),
(['children', 'salary'], [StandardScaler(),
MinMaxScaler()])
])
np.round(mapper.fit_transform(data.copy()),2)
Ниже ошибка
ValueError Traceback (последний вызов последним) в () ----> 1 np.round (mapper.fit_transform (data.copy ()), 2)
C: \ Users \ E245713 \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ sklearn \ base.py в fit_transform (self, X, y, ** fit_params) 453 if y is None: 454 # fit method of arity 1 (неконтролируемое преобразование) -> 455 return self.fit (X, ** fit_params) .transform (X) 456 else: 457 # метод соответствия арности 2 (контролируемое преобразование)
C: \ Users \ E245713 \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ sklearn_pandas \ dataframe_mapper.py in fit (self, X, y) 95 для столбцов, преобразователи в self. Функции: 96, если преобразователи не Нет: ---> 97 transformers.fit (self._get_col_subset (X, columns)) 98 return self 99
C: \ Users \ E245713 \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ sklearn \ preprocessing \ label.py in fit (self, y) 106 self: возвращает экземпляр self. 107 "" "-> 108 y = column_or_1d (y, warn = True) 109 _check_numpy_unicode_bug (y) 110 self.classes_ = np.unique (y)
C: \ Users \ E245713 \ AppData \ Local \ Continuum \ Anaconda3 \ lib \ site-packages \ sklearn \ utils \ validation.py в column_or_1d (y, warn) 549 return np.ravel (y) 550 -> 551 raise ValueError ("неправильная форма ввода {0}". формат (форма)) 552 553
ValueError: неправильная форма ввода (8, 2)
Кто-нибудь может помочь?
Благодарность