English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Modificação da Forma do Array do NumPy

a forma do array é o número de elementos em cada dimensão.

obter a forma do array

imprimir 2-a forma do array D:

import numpy as np
arr = np.array([1, 2, 3, 4], [5, 6, 7, 8])
print(arr.shape)

Resultados da Execução

(2, 4)

o exemplo acima retorna (2, 4) 2 dimensões, cada uma com 4 elementos.

usando o valor 1,2,3,4 vetores criados com 5 arrays de 4:

import numpy as np
arr = np.array([1, 2, 3, 4], ndmin=5)
print(arr)
print('shape of array:', arr.shape)

Resultados da Execução

[[[[1 2 3 4]]]]
shape of array: (1, 1, 1, 1, 4)
O que representa a forma de um tuple?

cada índice inteiro indica o número de elementos na dimensão correspondente.
o índice no exemplo anterior 4nosso valor é 4dimensões, podemos dizer que o 5 de 4 + 1 tem 4 elementos.

a) A dimensão

modificar a forma do array

A dimensão externa terá 1-a partir de 2-D em

D 12 elementos de 1-Converter o Array D para 2-Array D.
A forma do array é o número de elementos em cada dimensão. Modificando a forma do array, podemos adicionar ou remover dimensões ou alterar o número de elementos em cada dimensão. 4 arrays, cada um contendo 3 arrays, cada um contendo

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(4, 3)
print(newarr)

Resultados da Execução

[[ 1 2 3]
 [ 4 5 6]
 [ 7 8 9]
 [10 11 12]]

A dimensão externa terá 1-a partir de 3-D em

D 12 elementos de 1-Converter o Array D para 3-Array D.
Vamos transformar o seguinte array com 2 arrays, onde a dimensão externa terá 3 arrays, cada um contendo 2 arrays, cada um contendo

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])
newarr = arr.reshape(2, 3, 2)
print(newarr)

Resultados da Execução

[[[ 1 2]
  [ 3 4]
  [ 5 6]]
 [[ 7 8]
  [ 9 10]
  [11 12]]
elementos:

O array pode ser modificado para qualquer forma?
Sim, desde que o número de elementos necessários seja igual em ambas as formas. 8 elementos 1Podemos transformar 2 linhas 2D array dentro de 4 elementos, mas não podemos重塑它们为 3 elementos 3 linhas 2D array, pois isso exigiria 3x3 = 9 elementos.

Tente transformar um array com 8 elementos de 1Converter o Array D (gerará erro): 3 elementos de 2Array D (gerará erro):

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(3, 3)
print(newarr)

Resultados da Execução

Traceback (última chamada mais recente):
  Arquivo "test.py", linha 5, in

Dimensão desconhecida

Você pode usar uma dimensão 'desconhecida'.
Isso significa que você não precisa especificar um número exato para uma das dimensões no método reshape.
passar -1 como valor, o NumPy calculará esse número para você.

usando 8 elementos de 1Converter o Array D para 2x2 do elemento 3Array D:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])
newarr = arr.reshape(2, 2, -1)
print(newarr)

Resultados da Execução

[[[1 2]
  [3 4]]
 [[5 6]
  [7 8]]
Atenção:Não podemos passar -1 passados para uma ou mais dimensões.

Flattening the arrays

Flattening the arrays) é converter arrays multidimensionais para 1Array D.
Podemos usar reshape(-1) para fazer isso.
Converter o array para 1Array D:

import numpy as np
arr = np.array([1, 2, 3], [4, 5, 6])
newarr = arr.reshape(-1)
print(newarr)

Resultados da Execução

[1 2 3 4 5 6]

Existem muitas funções que podem alterar a forma do array flatten, ravel e reordenar os elementos rot.90, flip, fliplr, flipud e outras. Essas funções pertencem à parte intermediária e avançada do NumPy.