En este artículo, corregiremos los valores no válidos encontrados en true_divide en Python. El valor no válido encontrado en true_divide es una advertencia de tiempo de ejecución que se produce cuando realizamos una operación de división no válida entre elementos de arrays NumPy. Uno de los ejemplos de división no válida es 0/0.
Nota: Como es solo una advertencia, el código no se detendrá en su ejecución y devolverá un valor No es un número, es decir, nan (o) inf (infinito).
La operación de división entre arrays NumPy se puede realizar mediante divide(), que está presente en el paquete NumPy y permite la operación de división entre los elementos correspondientes de 2 arrays.
Python3
# import necessary packages import numpy as np # Create 2 Numpy arrays Array1 = np.array([6, 2, 0]) Array2 = np.array([3, 2, 0]) # divide the values in Array1 by the # values in Array2 np.divide(Array1, Array2)
Producción:
C:\ProgramData\Anaconda3\lib\site-packages\ipykernel_launcher.py:9: RuntimeWarning: valor no válido encontrado en true_divide
si __nombre__ == ‘__principal__’:
Array de resultados ([ 2., 1., nan])
Explicación:
Aquí estamos dividiendo los elementos de Array1 por los elementos de Array2. Entonces devuelve el valor del cociente.
- 6/3=2 (Operación Válida)
- 2/2=1 (Operación Válida)
- 0/0, que es una operación no válida, por lo que se lanza una Advertencia y devuelve el resultado como No es un número (nan).
Solución:
Podemos corregir esta advertencia de tiempo de ejecución utilizando el método seterr que toma invalid como parámetro y le asigna ignorar como valor. Por eso, puede ocultar el mensaje de advertencia que contiene inválido en eso.
Sintaxis: numpy.seterr(no válido=’ignorar’)
Python3
# import necessary packages import numpy as np # Create 2 Numpy arrays Array1 = np.array([6, 2, 0]) Array2 = np.array([3, 2, 0]) # Supress/hide the warning np.seterr(invalid='ignore') # divide the values in Array1 by the # values in Array2 np.divide(Array1, Array2)
Producción:
array([ 2., 1., nan])
Publicación traducida automáticamente
Artículo escrito por akhilvasabhaktula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA