Этот код вызывает ошибку типа, но я не могу точно определить, в чем проблема. Я предполагаю, что у моего фрейма есть некоторые неверные данные, однако есть 10000 строк, поэтому сложно понять, что там происходит.
для i в cat_cols: data_frame [i] = lbl.fit_transform (data_frame [i]. fillna ('0'))
Ошибка:
> Traceback (most recent call last): File "test_makeprediction.py",
> line 187, in test_maximum_condition
> test_response = MakePrediction.predict(json_input) File "C:\dev\anaconda3\lib\site-packages\predict-1.0.0-py3.7.egg\prediction\makeprediction.py",
> line 51, in predict
> data_frame[i] = lbl.fit_transform(data_frame[i].fillna('0')) File
> "C:\dev\anaconda3\lib\site-packages\sklearn\preprocessing\label.py",
> line 236, in fit_transform
> self.classes_, y = _encode(y, encode=True) File "C:\dev\anaconda3\lib\site-packages\sklearn\preprocessing\label.py",
> line 107, in _encode
> raise TypeError("argument must be a string or number") TypeError: argument must be a string or number
Я добавил дополнительный код, но он генерирует новую ошибку.
Преобразовать в числовые значениядля сравнения
for i in cat_cols.describe(include=[np.object, np.numeric]).columns:
Я очень уверен, что это как-то связано с тем, как JSON исходит из моего API, однако все, что я вижу, выглядит как проверенное.
New Error:
Data Frame Row Count: 10000
Category Count: 74
Numerical Count: 19
[2019-10-02 13:45:31,993] ERROR in app: Exception on /predict [POST]
Traceback (most recent call last):
File "C:\dev\anaconda3\lib\site-packages\flask\app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "C:\dev\anaconda3\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\dev\anaconda3\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\dev\anaconda3\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "C:\dev\anaconda3\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "C:\dev\anaconda3\lib\site-packages\flask\app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "predictservice.py", line 63, in predict
return_response = MakePrediction.predict(json_obj)
File "C:\dev\anaconda3\lib\site-packages\predict-1.0.0-py3.7.egg\prediction\makeprediction.py", line 50, in predict
for i in cat_cols.describe(include=[np.object, np.numeric]).columns:
AttributeError: 'Index' object has no attribute 'describe'