Soma das colunas de um array em NumPy

Manav Narula 30 janeiro 2023
  1. Use a função numpy.sum() para encontrar a soma das colunas de um array em Python
  2. Use a função numpy.einsum() para encontrar a soma das colunas de um array em Python
  3. Use a função numpy.dot() para encontrar a soma das colunas de um array em Python
Soma das colunas de um array em NumPy

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 Narula avatar Manav Narula avatar

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