En este artículo, cubriremos cómo devolver el máximo de una array o el máximo ignorando cualquier NaN en Python usando NumPy .
Ejemplo
Input: [ -1. -2. nan 1000.] Output: 1000.0 Explanation: maximum value of the array ignoring nans.
Método NumPy.nanmax()
El método numpy.nanmax() de NumPy devuelve el valor más alto o el valor máximo en una array o el valor más alto a lo largo de un eje, ignorando cualquier NaN.
Sintaxis: numpy.nanmax(a, eje=Ninguno, salida=Ninguno)
Parámetros:
- a: array como objeto.
- eje: por defecto Ninguno.
- salida: por defecto Ninguno.
Retorno: valor de array máximo (un valor escalar si el eje no es ninguno) o array con valor máximo a lo largo del eje especificado.
Ejemplo 1:
En este ejemplo, se importa el paquete NumPy. Se crea una array usando el método numpy.array() que contiene nan y otros valores y np.nanmax() devuelve el valor máximo de la array ignorando nans. La forma, el tipo de datos y las dimensiones de la array se pueden encontrar mediante los atributos .shape, .dtype y .ndim .
Python3
import numpy as np # Creating an array array = np.array([-1, -2 , np.nan, 1000]) 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) # computing the maximum or array ignoring Nans print(np.nanmax(array))
Producción:
[ -1. -2. nan 1000.] Shape of the array is : (4,) The dimension of the array is : 1 Datatype of our Array is : float64 1000.0
Ejemplo 2:
En caso de que nuestra array contenga np.inf o infinito positivo, el método np.nanmax() devuelve inf.
Python3
import numpy as np # Creating an array array = np.array([-1, -2 , np.inf,np.nan, 1000]) 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) # computing the maximum or array ignoring Nans print(np.nanmax(array))
Producción:
[ -1. -2. inf nan 1000.] Shape of the array is : (5,) The dimension of the array is : 1 Datatype of our Array is : float64 inf
Ejemplo 3:
Si todos los elementos de la array son nan, entonces el método genera una advertencia de tiempo de ejecución que dice «RuntimeWarning: All-NaN slice found».
Python3
import numpy as np # Creating an array array = np.array([np.nan, np.nan]) 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) # computing the maximum or array ignoring Nans print(np.nanmax(array))
Producción:
[nan nan] Shape of the array is : (2,) The dimension of the array is : 1 Datatype of our Array is : float64 nan RuntimeWarning: All-NaN slice encountered
Publicación traducida automáticamente
Artículo escrito por sarahjane3102 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA