Devuelve el máximo de una array o el máximo ignorando cualquier NaN en Python

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

Deja una respuesta

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