Замените значения в ndarray на condirion - PullRequest
0 голосов
/ 26 апреля 2020

Мне нужно изменить значения в ndarray: если> 0.5, то 1, меньше - чем 0. Пример:

array([ 0.11865984,  0.49666225,  0.134077  ,  0.09502114,  0.70667432,
    0.1648032 ,  0.6356094 ,  0.36054945,  0.68379407,  0.09297716])

Ответы [ 2 ]

2 голосов
/ 26 апреля 2020

Вы можете попробовать что-то вроде

import numpy as np
arr = np.array([ 0.11865984,  0.49666225,  0.134077  ,  0.09502114,  0.70667432,
    0.1648032 ,  0.6356094 ,  0.36054945,  0.68379407,  0.09297716])

bool_condition_array = arr > 0.5
binary_array = bool_condition_array.astype(int)

0 голосов
/ 26 апреля 2020

Равномерно округляет до заданного числа десятичных знаков. np.around

Если у вас есть np.array, вы можете использовать np.around функцию:

import numpy as np
arr = np.array([ 0.11865984,  0.49666225,  0.134077  ,  0.09502114,  0.70667432,
    0.1648032 ,  0.6356094 ,  0.36054945,  0.68379407,  0.09297716])
result = np.around(arr)
print(result)
# array([0., 0., 0., 0., 1., 0., 1., 0., 1., 0.])
...