HOWTO · NumPy

Obter comprimento do array NumPy

Use `len(array)` para obter o comprimento do primeiro eixo de um array NumPy, `array.size` para contar o total de elementos e `array.shape` para consultar o comprimento de cada dimensão.

Nesta página

Use len(array) para obter o comprimento do primeiro eixo de um array NumPy, array.size para contar todos os elementos e array.shape para consultar suas dimensões. Cada opção responde a uma pergunta diferente: em um array bidimensional, o comprimento corresponde ao número de linhas, o tamanho ao número total de elementos e a forma descreve tanto as linhas quanto as colunas.

Como obter o comprimento de um array NumPy e contar todos os elementos

A função integrada len() do Python retorna o comprimento do primeiro eixo de um array com pelo menos uma dimensão. Em um array unidimensional, esse valor também corresponde ao número total de elementos. Em um array multidimensional, len() conta os grupos mais externos, e não cada elemento individual.

O atributo ndarray.size retorna o número total de elementos em todos os eixos. Use-o como array.size, sem parênteses. Ele funciona com arrays unidimensionais e multidimensionais; não é necessário achatar o array para contar seus elementos.

Este exemplo independente requer NumPy.

O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.

import numpy as np

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

print("Vector length:", len(vector))
print("Vector element count:", vector.size)
print("Array length:", len(array))
print("Array element count:", array.size)
Vector length: 6
Vector element count: 6
Array length: 2
Array element count: 6

O vetor tem seis elementos em seu único eixo; por isso, seu comprimento e sua contagem total são iguais. O array bidimensional tem duas linhas, cada uma com três elementos. Assim, o comprimento do primeiro eixo indica o número de linhas, enquanto a contagem total inclui os elementos das duas linhas.

O NumPy também oferece a função np.size(array), que retorna a contagem total quando nenhum eixo é especificado. Ao contrário do atributo, a função aceita um eixo: np.size(array, axis=1) retorna o comprimento do segundo eixo. Use o atributo para obter a contagem total e especifique um eixo quando precisar do comprimento de uma dimensão específica. Nenhuma dessas operações conta apenas valores distintos ou diferentes de zero.

Como inspecionar as dimensões de um array NumPy

O atributo ndarray.shape retorna uma tupla com o comprimento de cada eixo. Use-o como array.shape, sem parênteses. A função correspondente é np.shape(array); ela também retorna a forma do array, e não uma contagem escalar de elementos.

Para o array bidimensional acima, a forma é (2, 3): duas linhas e três colunas. Acesse array.shape[0] para obter o número de linhas e array.shape[1] para obter o número de colunas. Só use a atribuição rows, columns = array.shape quando o array tiver exatamente duas dimensões.

Para um array unidimensional com seis elementos, a forma é (6,), uma tupla com um único item, e não o inteiro 6. Uma forma como (2, 3, 4) descreve três eixos. Multiplique os comprimentos de todos os eixos para obter o número total de elementos; multiplicar apenas os dois primeiros não funciona como regra geral para arrays com mais dimensões. Se você precisa apenas do total, use array.size.

A quantidade de itens na tupla de forma é o número de dimensões, que também está disponível em array.ndim. Um array escalar, como np.array(7), tem forma () e um elemento, mas não possui primeiro eixo; portanto, len() não está definido para ele. Se um array desconhecido não se comportar como uma tabela, consulte sua forma antes de indexar ou desempacotar as dimensões.