¿Cómo usar la función de suma NumPy?

La función sum() de NumPy es extremadamente útil para sumar todos los elementos de una array determinada en Python. En este artículo, repasaremos cómo utilizar esta función y cómo usarla rápidamente para mejorar la funcionalidad de su código.

Repasemos cómo usar estas funciones y los beneficios de usar esta función en lugar de la suma de iteraciones. Primero escribamos el algoritmo subyacente para hacer una suma simple nosotros mismos. Esto tomará la forma de una función de la siguiente manera:

Python3

# Let's define our function
# Parameters: Input Array
def sum(array):
   
    # Set variable for our final answer
    sum = 0
     
    # Parse through our array
    for i in array:
         
        # Continuously add current element
        # to final sum
        sum += i
     
    # Return our sum
    return sum
 
 
# Create a test array
testArray = [1, 3, 34, 92, 29, 48, 20.3]
 
# Test our function
print('The sum of your numbers is ' + str(sum(testArray)))

Producción: 

The sum of your numbers is 227.3

Ahora que hemos visto cuántas líneas se necesitan para escribir solo esta función de suma simple, probemos la función sum() de NumPy para ver cómo se compara.

Python3

# Import NumPy Library
import numpy as np
 
# Let's begin with an example array
# Initialize our array
array = [1, 4, 2.5, 3, 7.4, 8]
 
# Utilize the sum() function
print('The sum of these numbers is ' + str(np.sum(array)))

Producción:

The sum of these numbers is 25.9

Veamos algunos ejemplos más para comprender el uso de esta función. Una cosa a tener en cuenta antes de continuar es que si se llama a la función sum() con una array bidimensional, la función sum() devolverá la suma de todos los elementos de esa array.

Ejemplo 1:

En este ejemplo, solo haremos otra suma simple de una array unidimensional, tal como hemos visto antes. ¡Sin embargo, se pondrá más emocionante más adelante!

Python3

# Import NumPy
import numpy as np
 
# Initialize our test array
array = [0.5, 1.5]
 
# Call our sum() function
print(np.sum(array))

Producción:

2.0

Ejemplo 2:

En este ejemplo, repasaremos la suma de una array bidimensional. Sigue siendo bastante básico.

Python3

# Import NumPy Library
import numpy as np
 
# Initialize our array
array = [[1, 3.4, 4.5], [3.45, 5.6, 9.8],
         [4.5, 5, 6.3]]
 
# Call our sum() function
print(np.sum(array))

Producción: 

43.55

Ejemplo 3:

Intentemos usar los parámetros opcionales para tratar de manipular nuestra salida. Probemos el parámetro del eje .

Python3

# Import NumPy
import numpy as np
 
# Initialize our array
array = [[0, 1], [0, 5]]
 
# Let's say we want to sum each sub array
# Sums will be returned separately in array
# format Call sum() function
print(np.sum(array, axis = 1))

Producción:

[1 5]

Ejemplo 4:

Intentemos usar el parámetro inicial para inicializar nuestro valor de suma. Esencialmente, el valor inicial se agrega a la suma de los elementos de la array. Esto es útil en ciertos problemas que utilizan contadores.

Python3

# Import NumPy Library
import numpy as np
 
# Initialize our array
array = [1.5, 3, 5.6]
 
# Call our sum() function
# initial = 3
print(np.sum(array, initial = 3))

Producción: 

13.1

Ejemplo 5:

Si el acumulador de la suma es demasiado pequeño, tenemos problemas de desbordamiento. Aunque esto no arrojará un error directamente, tendremos problemas con los resultados que no son confiables. Echemos un vistazo a un ejemplo. Usaremos la función ones() de NumPy para crear automáticamente una array de una longitud dada que se llena con unos.

Python3

# Import NumPy Library
import numpy as np
 
# Initialize our array
array = np.ones(250, dtype=np.int8)
 
# Call our sum() function with a specified
# accumulator type
print(np.sum(array, dtype=np.int8))
 
# Expected Output: 250

Producción:

-6

Publicación traducida automáticamente

Artículo escrito por ashishjayamohan 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 *