Divisão de Matriz do NumPy
- Página Anterior Conexão de Matriz do NumPy
- Próxima Página Pesquisa de Matriz do NumPy
Dividir arrays NumPy
A divisão é a operação inversa da conexão.
Conexão (Joining) é a operação de combinar vários arrays em um, e divisão (Spliting) é dividir um array em múltiplos.
Usamos array_split()
Dividir arrays, passe o array a ser dividido e o número de divisões ao método.
Exemplo
Dividir o array em 3 partes:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr)
Notas:O valor retornado é um array que contém três arrays.
Se o número de elementos no array for menor do que o número solicitado, ele ajustará a partir do final accordingly.
Exemplo
Dividir o array em 4 partes:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 4) print(newarr)
Dica:Também temos split()
O método está disponível, mas quando há poucos elementos no array de origem para dividir, ele não ajustará os elementos, como no exemplo acima,array_split()
trabalha normalmente, mas split()
irá falhar.
Dividir em arrays
array_split()
O valor retornado pelo método é um array que contém cada divisão.
Se dividir um array em 3 arrays, você pode acessá-los como se fossem elementos de qualquer array de resultados:
Exemplo
Acessar o array dividido:
import numpy as np arr = np.array([1, 2, 3, 4, 5, 6]) newarr = np.array_split(arr, 3) print(newarr[0]) print(newarr[1]) print(newarr[2])
Dividir arrays bidimensionais
Ao dividir arrays bidimensionais, use a mesma sintaxe.
Use array_split()
Método, passe o array a ser dividido e o número de divisões desejado.
Exemplo
Divida este array 2-D em três arrays 2-D.
import numpy as np arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]]) newarr = np.array_split(arr, 3) print(newarr)
O exemplo anterior retorna três arrays 2-D.
Vamos ver outro exemplo, desta vez cada elemento do array 2-D contém 3 elementos.
Exemplo
Divida este array 2-D em três arrays 2-D.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3) print(newarr)
O exemplo anterior retorna três arrays 2-D.
Além disso, você pode especificar o eixo para dividir.
O exemplo a seguir também retorna três arrays 2-D, mas eles são divididos ao longo das linhas (axis=1).
Exemplo
Divida este array 2-D em três arrays 2-D ao longo das linhas.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.array_split(arr, 3, axis=1) print(newarr)
Outra solução é usar com hstack()
Contrário hsplit()
.
Exemplo
Use o método hsplit() para dividir um array 2-D em três arrays 2-D ao longo das linhas.
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]]) newarr = np.hsplit(arr, 3) print(newarr)
Dica:vsplit()
e dsplit()
Você pode usar com vstack()
e dstack()
Métodos alternativos semelhantes.
- Página Anterior Conexão de Matriz do NumPy
- Próxima Página Pesquisa de Matriz do NumPy