Divisão NumPy()

Resumo : neste tutorial, você aprenderá como usar a split()função NumPy para dividir um array em vários submatrizes.

Introdução à função NumPy split()

A split()função divide um array em vários submatrizes como visualizações. A sintaxe da split()função é a seguinte:

numpy.split(ary, indices_or_sections, axis=0)Linguagem de código:  Python  ( python )

Nesta sintaxe:

aryé a matriz a ser dividida em submatrizes.

indices_or_sectionspode ser um número inteiro ou uma matriz 1-D de números inteiros classificados.

Se for um número inteiro, a função divide a matriz de entrada em N matrizes iguais ao longo do eixo. Se a divisão não for possível, a função gerará um erro.

Se índices_ou_seções for um array 1D de inteiros classificados, os índices indicam onde ao longo do eixo a função divide o array.

Quando um índice excede a dimensão da matriz ao longo do eixo, a função retorna uma submatriz vazia.

A imagem a seguir mostra como a split()função divide o array com os índices 2, 3 e 4. Isso resulta em 4 arrays.

Exemplo de função NumPy split()

Vejamos alguns exemplos de uso da split()função.

1) Usando a função split() para dividir um array 1D

O exemplo a seguir usa a split()função para dividir uma matriz 1D com sete elementos em três submatrizes:

import numpy as np


a = np.arange(1,7)
results = np.split(a,3)

print(a)
print(results)Linguagem de código:  Python  ( python )

Saída:

[1 2 3 4 5 6]
[array([1, 2]), array([3, 4]), array([5, 6])]Linguagem de código:  Python  ( python )

O exemplo a seguir gera um erro porque a divisão não é possível:

import numpy as np


a = np.arange(1,7)
results = np.split(a,4)Linguagem de código:  Python  ( python )

Saída:

ValueError: array split does not result in an equal divisionLinguagem de código:  Python  ( python )

Neste exemplo, o array possui 6 elementos, portanto não pode ser dividido em 4 arrays de tamanho igual. Se quiser uma divisão mais flexível, você pode usar a array_split()função.

2) Usando a função split() para dividir um array 2D

O exemplo a seguir usa a split()função para dividir uma matriz 2D em duas submatrizes:

import numpy as np

a = np.array([[1,2],[3,4],[5,6],[7,8]])
results = np.split(a,2)

print(a)
print(results)Linguagem de código:  Python  ( python )

Saída:

[[1 2]
 [3 4]
 [5 6]
 [7 8]]
[array([[1, 2],
       [3, 4]]), array([[5, 6],
       [7, 8]])]Linguagem de código:  Python  ( python )

3) Usando a função NumPy split() usando índices

O exemplo a seguir usa a split()função para dividir um array 1D usando um array de índices:

import numpy as np


a = np.arange(10,70,10)
results = np.split(a, [2, 3, 4])
print(a)
print(results)Linguagem de código:  Python  ( python )

Saída:

[1 2 3 4 5 6]
[array([1, 2]), array([3]), array([4, 5, 6])]Linguagem de código:  Python  ( python )

Resumo

  • Use split()a função NumPy para dividir um array em submatrizes.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *