NumPy achatar()

Resumo : neste tutorial, você aprenderá como usar o flatten()método numpy para retornar uma cópia de um array recolhido em uma dimensão.

Introdução ao método NumPy flatten()

O flatten()é um método da ndarrayclasse. O flatten()método retorna uma cópia de um array recolhido em uma dimensão.

O seguinte mostra a sintaxe do flatten()método:

ndarray.flatten(order='C')Linguagem de código:  Python  ( python )

O parâmetro order especifica a ordem dos elementos de um array no array retornado. Ele aceita um dos seguintes valores:

  • ‘C’ significa nivelar os elementos da matriz na ordem da linha principal (estilo C).
  • ‘F’ significa nivelar os elementos da matriz na ordem principal da coluna (estilo Fortran).
  • ‘A’ – significa nivelar os elementos da matriz na ordem da coluna principal se a for Fortran contíguo na memória ou na linha principal caso contrário.
  • ‘K’ significa nivelar os elementos do array na ordem dos elementos dispostos na memória.

Por padrão, a ordem é ‘C’, que nivela os elementos da matriz na linha principal.

Exemplos do método NumPy flatten()

Vejamos alguns exemplos de uso do flatten()método NumPy.

1) Exemplo de uso do método flatten() com um array multidimensional

O exemplo a seguir usa o flatten()método para retornar uma matriz 1D de uma matriz 2D:

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = a.flatten()
print(b)Linguagem de código:  Python  ( python )

Saída:

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

Como funciona.

NumPy achatar

Primeiro, crie um array 2-D com duas linhas e duas colunas:

a = np.array([[1, 2], [3, 4]])Linguagem de código:  Python  ( python )

Segundo, retorne uma cópia do array com dimensões resumidas em uma usando o flatten()método:

b = a.flatten()Linguagem de código:  Python  ( python )

Terceiro, exiba a matriz de resultados:

print(b)Linguagem de código:  Python  ( python )

Observe que b é uma cópia, não uma visualização do array a. Se você alterar os elementos da matriz b, os elementos da matriz a não serão alterados. Por exemplo:

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = a.flatten()

# change element at index 0
b[0] = 0
print(b)

# display the array a
print(a)Linguagem de código:  Python  ( python )

Saída:

[0 2 3 4]
[[1 2]
 [3 4]]Linguagem de código:  Python  ( python )

Neste exemplo:

Primeiro, nivele o array a e atribua o array resultante à variável b:

b = a.flatten()Linguagem de código:  Python  ( python )

Segundo, altere o elemento no índice 0 de b para zero e imprima b:

b[0] = 0
print(b)Linguagem de código:  Python  ( python )

Terceiro, exiba o array a:

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

A saída mostra que o elemento no índice 0 de b muda, mas o elemento no índice 0 de a não muda.

2) Usando o método numpy flatten() para nivelar um array usando a ordem da coluna principal

O exemplo a seguir usa o método numpy flatten()para nivelar uma matriz usando a ordem da coluna principal:

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = a.flatten(order='F')

print(b)Linguagem de código:  Python  ( python )
numpy achatar coluna-ordem maior F

Saída:

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

Resumo

  • Use o método numpy array flatten()para retornar uma cópia de um array recolhido em uma dimensão.

Deixe um comentário

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