0Pricing
Pandas & NumPy Academy · Aula

Funções de agregação

Calcule a soma, a média, o mínimo, o máximo e o desvio-padrão de um vetor inteiro ou ao longo de um eixo específico.

Funções de agregação é uma aula grátis de Pandas & NumPy Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Pandas & NumPy Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Pandas & NumPy Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

What Is Aggregation?

Aggregation boils an array down to a few summary values, like a total or an average. NumPy's built-in functions do this in fast C, no loops needed.

import numpy as np

a = np.array([3, 7, 2, 9, 1, 6])
print('sum:', a.sum())     # 28
print('mean:', a.mean())   # 4.666...
print('max:', a.max())     # 9

sum() and cumsum()

Use a.sum() for the total of every element, and np.cumsum for a running total — each spot holds the sum of everything up to it.

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a.sum())       # 15
print(np.cumsum(a))  # [ 1  3  6 10 15]

mean() and std()

a.mean() gives the average and a.std() the standard deviation. By default std divides by N; pass ddof=1 when your data is a sample.

import numpy as np

a = np.array([2.0, 4.0, 4.0, 4.0, 5.0, 5.0, 7.0, 9.0])
print('mean:', a.mean())           # 5.0
print('std (pop):', a.std())       # 2.0
print('std (sample):', a.std(ddof=1))  # 2.138...

min() and max() with argmin/argmax

a.min() and a.max() give the smallest and largest values. Want their positions instead? argmin and argmax return the index of each.

import numpy as np

a = np.array([3, 7, 2, 9, 1, 6])
print('min:', a.min(), 'at index', a.argmin())  # 1 at 4
print('max:', a.max(), 'at index', a.argmax())  # 9 at 3

Aggregating Along an Axis

The axis argument picks which dimension to collapse: axis=0 gives one value per column, axis=1 one per row. Leave it off and you reduce the whole array.

import numpy as np

m = np.array([[1, 2, 3],
              [4, 5, 6]])

print(m.sum(axis=0))  # [5 7 9]  -- column sums
print(m.sum(axis=1))  # [ 6 15]  -- row sums
print(m.mean(axis=0)) # [2.5 3.5 4.5]

keepdims=True for Shape Preservation

Aggregating along an axis drops that dimension. Add keepdims=True to keep it as size 1 — essential when you want the result to broadcast back later.

import numpy as np

m = np.array([[1, 2, 3],
              [4, 5, 6]])

row_sums = m.sum(axis=1, keepdims=True)
print(row_sums.shape)  # (2, 1)

normed = m / row_sums
print(normed.round(3))
# [[0.167 0.333 0.5  ]
#  [0.267 0.333 0.4  ]]

NaN-Safe Aggregations

One NaN makes a normal sum or mean return NaN. The NaN-safe versions — np.nansum, np.nanmean, and friends — simply skip the missing values.

import numpy as np

a = np.array([1.0, np.nan, 3.0, np.nan, 5.0])
print(a.sum())          # nan
print(np.nansum(a))     # 9.0
print(np.nanmean(a))    # 3.0
print(np.nanmax(a))     # 5.0

np.median and np.percentile

np.median gives the middle value and shrugs off outliers far better than the mean. np.percentile finds the value below which a given percent of data sits.

import numpy as np

a = np.array([1, 2, 3, 4, 100])  # outlier at 100
print('mean:', a.mean())          # 22.0  -- skewed
print('median:', np.median(a))    # 3.0   -- robust
print(np.percentile(a, [25, 50, 75]))  # [ 2.  3.  4.]

np.any() and np.all()

np.any returns True if at least one element passes a condition; np.all returns True only if every element does. Both can check per row or column.

import numpy as np

a = np.array([1, -2, 3, -4])
print(np.any(a < 0))    # True   (some are negative)
print(np.all(a > 0))    # False  (not all are positive)

# Row-wise check on 2D
m = np.array([[1, 2], [-1, 3]])
print(np.all(m > 0, axis=1))  # [ True False]

np.count_nonzero()

np.count_nonzero counts how many elements aren't zero — or how many are True. Pass it a condition like a > 5 to count matches cleanly.

import numpy as np

a = np.array([3, 0, 7, 0, 2, 0])
print(np.count_nonzero(a))         # 3
print(np.count_nonzero(a > 2))     # 2  (elements 3 and 7)

m = np.array([[0, 1], [1, 1]])
print(np.count_nonzero(m, axis=0)) # [1 2]

np.unique() for Distinct Values

np.unique returns the sorted distinct values. Add return_counts=True and you also get how often each appears — an instant frequency table.

import numpy as np

a = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3])
uniq, counts = np.unique(a, return_counts=True)
print(uniq)    # [1 2 3 4 5 6 9]
print(counts)  # [2 1 2 1 2 1 1]

Quick Check

Test your understanding of NumPy aggregation functions from this lesson.

Lesson Recap

Great job! NumPy aggregations summarise arrays in fast C, the axis argument picks what to collapse, and NaN-safe versions skip missing values. Next: broadcasting.

Perguntas Frequentes

A aula “Funções de agregação” é grátis?

Sim — o texto completo de “Funções de agregação” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Pandas & NumPy Academy, atualize para CoddyKit PRO. O curso de Pandas & NumPy Academy inclui 4 aulas no total.

O que vou aprender em “Funções de agregação”?

Calcule a soma, a média, o mínimo, o máximo e o desvio-padrão de um vetor inteiro ou ao longo de um eixo específico. Você pratica Pandas & NumPy Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Pandas & NumPy Academy?

Nenhuma experiência prévia é necessária. Pandas & NumPy Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Funções de agregação”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Pandas & NumPy Academy?

Sim. Cada aula de Pandas & NumPy Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Funções universais (ufuncs)
  2. Funções de agregação
  3. Regras de transmissão
  4. Mascaramento booleano e indexação avançada
← Voltar para Pandas & NumPy Academy