Soma das colunas de um array em NumPy
-
Use a função
numpy.sum()
para encontrar a soma das colunas de um array em Python -
Use a função
numpy.einsum()
para encontrar a soma das colunas de um array em Python -
Use a função
numpy.dot()
para encontrar a soma das colunas de um array em Python
Este tutorial irá apresentar como encontrar a soma dos elementos ao longo de uma coluna no NumPy.
Vamos calcular a soma da seguinte matriz.
import numpy as np
a = np.arange(12).reshape(4, 3)
print(a)
Resultado:
[[ 0 1 2]
[ 3 4 5]
[ 6 7 8]
[ 9 10 11]]
Use a função numpy.sum()
para encontrar a soma das colunas de um array em Python
A função sum()
calcula a soma de todos os elementos em um array sobre o eixo especificado. Se especificarmos o eixo como 0, ele calcula a soma das colunas em um array.
O código a seguir explica isso.
import numpy as np
a = np.arange(12).reshape(4, 3)
s = np.sum(a, axis=0)
print(s)
Resultado:
[18 22 26]
Este método é o mais usado e mais rápido de todos os métodos discutidos neste tutorial.
Use a função numpy.einsum()
para encontrar a soma das colunas de um array em Python
O einsum()
é uma função útil, mas complicada no NumPy. É difícil de explicar porque pode encontrar a soma de várias maneiras, dependendo da condição. Podemos usá-lo para calcular a soma das colunas de um array, conforme mostrado abaixo.
import numpy as np
a = np.arange(12).reshape(4, 3)
s = np.einsum("ij->j", a)
print(s)
Resultado:
[18 22 26]
O ij->j
é o subscrito da função que é usado para especificar que precisamos calcular a soma das colunas do array.
Use a função numpy.dot()
para encontrar a soma das colunas de um array em Python
É um método irrelevante, mas ainda deve ser conhecido para entender o amplo uso da função ponto()
. Se calcularmos o produto escalar do array 2-D com um array de linha única contendo apenas 1, obteremos a soma das colunas dessa matriz.
O código a seguir implementa isso.
import numpy as np
a = np.arange(12).reshape(4, 3)
s = np.dot(a.T, np.ones(a.shape[0]))
print(s)
Resultado:
[18. 22. 26.]
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn