2015-02-09 2 views
1

У меня есть следующий массив:Как обновить массив 2d numpy?

array([[ 0.  , -1.22474487, 1.40182605], 
     [ 1.22474487, 0.  , -0.53916387], 
     [-1.22474487, 1.22474487, -0.86266219]]) 

Что является лучшим способом для разбора каждого из ее элементов и присвоить строку в зависимости от значения? Например: если значение < 0, то установите «LOW» еще «HIGH»?

+2

Вы не можете присвоить строку в Numpy массив, который уже содержит номера. Вы хотите создать новый массив или список списков с результатами? –

ответ

1

Если a ваш array использование

import numpy as np 

np.where(a<0,'LOW','HIGH') 

Edit: Если у вас есть 3 варианта вы можете сделать что-то вроде

b = np.where(a < 0.,'LOW','HIGH').astype('S7') 

c = np.where((-1. < a) & (a < 1.), 'MIDDLE',b) 
+0

круто! И что, если бы у меня было три возможных значения? – user706838

+0

ну, у меня есть 3 варианта: [-1, +1], (-1, -oo) и (+1, + oo) ... – user706838

Смежные вопросы