Pandas фрейм данных перемещается из as_matrix в to_numpy - PullRequest
0 голосов
/ 14 июля 2020

Вот мой код:

def predict(data, rows=500):
    split_array = np.array_split(data, int(data.shape[0] / float(rows) + 1))
    predictions = ''
    for array in split_array:
        predictions = ','.join([predictions, xgb_predictor.predict(array).decode('utf-8')])

    return np.fromstring(predictions[1:], sep=',')

data_test["predictions"]= predict(data_test.as_matrix()[:, 1:])

xgb_predictor - объект модели Sagemaker.

Это больше не работает, поскольку as_matrix () не поддерживается.

Как сделать Я заменяю это на to_ numpy ()?

Ответы [ 2 ]

0 голосов
/ 15 июля 2020

Я разобрался, вот новый код с использованием to_ numpy ()

 def predict(data, rows=500):
        split_array = np.array_split(data, int(data.shape[0] / float(rows) + 1))
        predictions = ''
        for array in split_array:
            predictions = ','.join([predictions, xgb_predictor.predict(array).decode('utf-8')])
    
        return np.fromstring(predictions[1:], sep=',')
    #replace data_test["predictions"]= predict(data_test.as_matrix()[:, 1:]) with
    data_results["predictions"] =  predict(data_test.iloc[:,1:].to_numpy())
0 голосов
/ 14 июля 2020

Предполагая, что data_test - это матрица pandas, тогда вы сможете напрямую использовать вместо этого to_numpy().

См. https://pandas.pydata.org/pandas-docs/version/0.25.1/reference/api/pandas.DataFrame.as_matrix.html:

Deprecated since version 0.23.0: Use DataFrame.values() instead.

DataFrame.values(): https://pandas.pydata.org/pandas-docs/version/0.25.1/reference/api/pandas.DataFrame.values.html#pandas .DataFrame.values ​​

We recommend using DataFrame.to_numpy() instead.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...