vectores una transpuesta sumar multiplicar matriz matrices funciones elementos ejemplos columnas array agregar python open-source numpy statistics gdal

sumar - transpuesta de una matriz en python numpy



¿Cómo puedo cambiar de forma condicional los valores en una matriz numpy teniendo en cuenta los números Nan? (2)

Mi matriz es una matriz 2D y tiene valores numpy.nan además de valores negativos y positivos:

>>> array array([[ nan, nan, nan, ..., -0.04891211, nan, nan], [ nan, nan, nan, ..., nan, nan, nan], [ nan, nan, nan, ..., nan, nan, nan], ..., [-0.02510989, -0.02520096, -0.02669156, ..., nan, nan, nan], [-0.02725595, -0.02715945, -0.0286231 , ..., nan, nan, nan], [ nan, nan, nan, ..., nan, nan, nan]], dtype=float32)

Y quiero reemplazar todos los números positivos con un número y todos los números negativos con otro número.

¿Cómo puedo hacer eso usando python / numpy?

(Para el registro, la matriz es un resultado de la geoimagen, que quiero realizar una clasificación)


El hecho de que tengas np.nan en tu matriz no debería importar. Solo usa indexación sofisticada:

x[x>0] = new_value_for_pos x[x<0] = new_value_for_neg

Si quiere reemplazar su np.nans :

x[np.isnan(x)] = something_not_nan

Más información sobre la indexación elegante de un tutorial y la documentación de NumPy .


Tratar:

a[a>0] = 1 a[a<0] = -1