Python NumPy: reemplace NaN con cero y complete el infinito positivo para valores de entrada complejos

En este artículo, veremos cómo reemplazar NaN con cero y completar infinito positivo para valores de entrada complejos en Python .

El paquete Numpy nos proporciona el método numpy.nan_to_num() para reemplazar NaN con cero y completar infinito positivo para valores de entrada complejos en Python. Este método sustituye un valor nan con un número y reemplaza infinito positivo con el número de nuestra elección. Veamos la sintaxis de numpy.nan_to_num() en detalle.

Sintaxis: numpy.nan_to_num(x, copy=True, nan=0.0, posinf=Ninguno, neginf=Ninguno)

Parámetros:

  • x: array como o objeto escalar.datos dados como entrada.
  • copy: valor opcional, boolean.pass ‘true’ para crear una copia de x , o ‘false’ para reemplazar los valores en su lugar. por defecto ‘verdadero’. 
  • nan: valor opcional, int o float. Rellene los valores de NaN con este valor. Los valores de NaN se sustituirán por 0,0 si no se proporciona ningún valor.
  • posinf: valor opcional, int o float. Rellene los valores infinitos positivos con este valor. Los valores infinitos positivos se reemplazarán con un número extremadamente grande si no se proporciona ningún valor.
  • neginf: valor opcional, int o float. Complete los valores infinitos negativos con este valor. Los valores infinitos negativos se reemplazarán con un número entero muy pequeño si no se pasa ningún valor.

Devuelve: un objeto de array. 

Ejemplo 1:

En este ejemplo, creamos una array de números imaginarios con la ayuda de np.nan y np.inf . La forma de la array está definida por el atributo .shape y la dimensión de la array está definida por .ndim. Ahora usaremos el parámetro posinf para reemplazar np.inf con el valor 999999.

Python3

import numpy as np
 
# array of imaginary numbers
array = np.array([complex(np.nan, np.inf)])
print(array)
 
# shape of the array is
print("Shape of the array is : ",array.shape)
 
# dimension of the array
print("The dimension of the array is : ",array.ndim)
 
# Datatype of the array
print("Datatype of our Array is : ",array.dtype)
 
# np.nan is replaced with 0.0 and np.inf
# is replaced with 999999
print("After replacement the array is : ",np.nan_to_num(array, posinf = 999999))

Producción:

[nan+infj]
Shape of the array is :  (1,)
The dimension of the array is :  1
Datatype of our Array is :  complex128
After replacement the array is :  [0.+999999.j]

Ejemplo 2:

En este ejemplo, estamos reemplazando nan con el valor de 100.

Python3

import numpy as np
 
# Creating an array of imaginary numbers
array = np.array([complex(np.nan, np.inf)])
print(array)
 
# shape of the array is
print("Shape of the array is : ",array.shape)
 
# dimension of the array
print("The dimension of the array is : ",array.ndim)
 
# Datatype of the array
print("Datatype of our Array is : ",array.dtype)
 
# np.nan is replaced with 100 and np.inf is
# replaced with 999999
print("After replacement the array is : ",
      np.nan_to_num(array,nan= 100, posinf = 999999))

Producción:

[nan+infj]
Shape of the array is :  (1,)
The dimension of the array is :  1
Datatype of our Array is :  complex128
After replacement the array is :  [100.+999999.j]

Ejemplo 3:

En este ejemplo, reemplazamos nan= 100, posinf = 999999, neginf=0.

Python3

# import package
import numpy as np
 
# Creating an array of imaginary numbers
array = np.array([complex(np.nan, np.inf),-np.inf])
print(array)
 
# shape of the array is
print("Shape of the array is : ",array.shape)
 
# dimension of the array
print("The dimension of the array is : ",array.ndim)
 
# Datatype of the array
print("Datatype of our Array is : ",array.dtype)
 
# np.nan is replaced with 100 and np.inf is
# replaced with 999999
print("After replacement the array is : ",
      np.nan_to_num(array,nan= 100, posinf = 999999, neginf=0))

Producción:

[ nan+infj -inf +0.j]
Shape of the array is :  (2,)
The dimension of the array is :  1
Datatype of our Array is :  complex128
After replacement the array is :  [100.+999999.j   0.     +0.j]

Publicación traducida automáticamente

Artículo escrito por sarahjane3102 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *