Considere o seguinte trecho de código em Python: import numpy as np data = np.array([[1, 2], [3, 4], [5, 6]]) result = data.sum(axis=0) O que o comando data.sum(axis=0) faz com relação ao array criado?
- A)Soma todos os seus elementos.
Errada, porque não soma todos os elementos do array de uma vez; isso ocorreria sem especificar axis.
- B)Soma os elementos de cada linha.
Errada, porque a soma de cada linha é feita com axis=1, não com axis=0.
- C)Soma os elementos de cada coluna.
Certa, pois axis=0 faz a soma ao longo das linhas, resultando na soma de cada coluna.
- D)Retorna a soma acumulada de todos os seus elementos.
Errada, porque soma acumulada seria outra operação, como cumsum(), e não sum() com axis=0.
- E)Retorna a soma dos elementos ao longo da sua diagonal principal.
Errada, porque diagonal principal não é o comportamento de sum(axis=0); isso exigiria tratamento específico da diagonal.
Gabarito: C
Em NumPy, o método sum() permite somar os valores de um array, e o parâmetro axis define a direção dessa soma. Pense no array como uma tabelinha: se você soma ao longo de um eixo, você “varre” uma dimensão e preserva a outra. Quando você usa axis=0, a operação acontece nas linhas, isto é, cada coluna é somada verticalmente. No exemplo, a primeira coluna vira 1 + 3 + 5, e a segunda vira 2 + 4 + 6. O resultado é um novo array com a soma de cada coluna. Se o comando fosse axis=1, aí sim a soma seria feita em cada linha, produzindo um valor por linha. Por isso, a banca quer testar exatamente essa diferença entre linha e coluna, que costuma confundir bastante quem lê rápido e vai no “feeling”. Então, o gabarito C está correto porque data.sum(axis=0) soma os elementos de cada coluna do array. Em linguagem de prova: eixo 0 = redução das linhas, sobrando a estrutura por colunas.