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

Adição e Remoção do Array do NumPy

operações de adição e exclusão de arrays, as funções mais comuns são as seguintes:

funçõeselementos e descrições
resizeretornar um novo array com a forma especificada
appendadicionar valores ao final do array
insertinserir valores antes do índice especificado ao longo do eixo especificado
deleteremover subarray de um eixo específico e retornar o novo array resultante
uniqueprocurar elementos únicos dentro do array

numpy.resize

A função numpy.resize retorna um novo array de tamanho especificado.

Se o tamanho do novo array for maior que o tamanho original, ele contém cópias dos elementos do array original.

numpy.resize(arr, shape)

Descrição dos parâmetros:

arr: o array a ser modificado de tamanhoshape: retorna a nova forma do array

import numpy as np
a = np.array([[1,2,3,4,5,6,7,8],[4,5,6,7,8,9,10,11]]
print ('Primeiro array:')
print (a)
print ('
')
print('Forma do primeiro array:')
print(a.shape)
print ('
')
b = np.resize(a, (4,2))
print('Segundo array:')
print(b)
print ('
')
print('Forma do segundo array:')
print(b.shape)
print ('
')
 # Atentar: a primeira linha de a é repetida em b, porque o tamanho aumentou
print('Modificar o tamanho do segundo array:')
b = np.resize(a,(5,5))
print(b)

O resultado da saída é:

Primeiro array:
[[ 1 2 3 4 5 6 7 8]
 [ 4 5 6 7 8 9 10 11]]
Forma do primeiro array:
(2, 8)
Segundo array:
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
Forma do segundo array:
(4, 2)
Modificar o tamanho do segundo array:
[[ 1 2 3 4 5]
 [ 6 7 8 4 5]
 [ 6 7 8 9 10]
 [11 1 2 3 4]
 [ 5 6 7 8 4]]

numpy.append

A função numpy.append adiciona valores ao final do array. A operação de adição atribui todo o array, copiando o array original para o novo array. Além disso, os dimensões do array de entrada devem coincidir, senão será gerado um ValueError.

A função append sempre retorna um array unidimensional.

numpy.append(arr, values, axis=None)

Descrição dos parâmetros:

arr: Matriz de entradavalues: os valores a serem adicionados ao arr, precisam ter a mesma forma (exceto pelo eixo a ser adicionado)axis: padrão é None. Quando axis não está definido, é adicionado horizontalmente, retornando sempre um array unidimensional!1quando. Quando axis está definido, são 0 e1quando. Quando axis está definido, são 0 e1quando (o número de colunas deve ser o mesmo). Quando axis é

import numpy as np
a = np.array([[1,2,3,4,5,6,7,8],[4,5,6,7,8,9,10,11]]
print ('Primeiro array:')
print (a)
print ('
')
quando, o array é adicionado à direita (o número de linhas deve ser o mesmo).
print(('Adicionar elementos ao array:'))7,8,9))
print ('
')
print(('Adicionar elementos ao longo do eixo 0:'))
print((np.append(a, [[1,2,3,4,5,6,7,8]]], axis = 0))
print ('
')
print ('Ao longo do eixo 1 Adicionar elementos:')
print((np.append(a, [[5,5,5,5,5,5,5],[7,8,9,7,8,9,1]]], axis = 1))

O resultado da saída é:

Primeiro array:
[[ 1 2 3 4 5 6 7 8]
 [ 4 5 6 7 8 9 10 11]]
Adicionar elementos ao array:
[ 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11 7 8 9]
Adicionar elementos ao longo do eixo 0:
[[ 1 2 3 4 5 6 7 8]
 [ 4 5 6 7 8 9 10 11]
 [ 1 2 3 4 5 6 7 8]]
Ao longo do eixo 1 Adicionar elementos:
[[ 1 2 3 4 5 6 7 8 5 5 5 5 5 5 5]
 [ 4 5 6 7 8 9 10 11 7 8 9 7 8 9 1]]

numpy.insert

A função numpy.insert insere valores antes do índice dado ao longo do eixo especificado no array de entrada.

Se o tipo do valor for convertido para o tipo a ser inserido, ele é diferente do array de entrada. A inserção não é in-place, a função retorna um novo array. Além disso, se o eixo não for fornecido, o array de entrada será expandido.

numpy.insert(arr, obj, values, axis)

Descrição dos parâmetros:

arr: Matriz de entradaobj: O índice onde os valores serão inseridos antesvalues: Valores a serem inseridosaxis: Ao longo do eixo onde será inserido, se não for fornecido, a matriz de entrada será expandida

import numpy as np
a = np.array([[1,2],[3,4],[5,6]]
 
print ('Primeiro array:')
print (a)
print ('
')
 
print ('O parâmetro Axis não foi passado. A matriz de entrada será expandida antes da inserção.')
print (np.insert(a,3,11,12))
print ('
')

 
print ('Ao longo do eixo 0 broadcasting:'),
print (np.insert(a,1,11],axis = 0))
print ('
')
 
print ('Ao longo do eixo 1 Broadcasting:)
print (np.insert(a,1,11,axis = 1))

Os resultados de saída são os seguintes:

Primeiro array:
[[1 2]
 [3 4]
 [5 6]]
O parâmetro Axis não foi passado. A matriz de entrada será expandida antes da inserção.
[ 1 2 3 11 12 4 5 6]
O parâmetro Axis foi passado. O array de valores será broadcasted para combinar com o array de entrada.
Ao longo do eixo 0 broadcasting:
[[ 1 2]
 [11 11]
 [ 3 4]
 [ 5 6]]
Ao longo do eixo 1 Broadcasting:
[[ 1 11 2]
 [ 3 11 4]
 [ 5 11 6]]

numpy.delete

A função numpy.delete retorna uma nova matriz que remove a submatriz especificada do array de entrada. Como no caso da função insert(), se o parâmetro axis não for fornecido, a matriz de entrada será expandida.

Numpy.delete(arr, obj, axis)

Descrição dos parâmetros:

arr: Matriz de entradaobj: Pode ser fatiado, inteiro ou array de inteiros, indicando a submatriz a ser removida do array de entradaaxis: Remove a submatriz ao longo do eixo especificado, se não for fornecido, a matriz de entrada será expandida

import numpy as np
 
a = np.arange(12).reshape(3,4)
 
print ('Primeiro array:')
print (a)
print ('
')
 
print ('O parâmetro Axis não foi passado. A matriz de entrada será expandida antes da inserção.')
print (np.delete(a,5))
print ('
')
 
print ('Remover a segunda coluna:')
print (np.delete(a,1,axis = 1))
print ('
')
 
print ('Inclui uma fatia de substituição removida do array:')
a = np.array([1,2,3,4,5,6,7,8,9,10]
print (np.delete(a, np.s_[::2))

O resultado da saída é:

Primeiro array:
[[ 0 1 2 3]
 [ 4 5 6 7]
 [ 8 9 10 11]]
O parâmetro Axis não foi passado. A matriz de entrada será expandida antes da inserção.
[ 0 1 2 3 4 6 7 8 9 10 11]
Remover a segunda coluna:
[[ 0 2 3]
 [ 4 6 7]
 [ 8 10 11]]
Inclui uma fatia de substituição removida do array:
[ 2 4 6 8 10]

numpy.unique

A função numpy.unique é usada para remover elementos duplicados de uma matriz.

numpy.unique(arr, return_index, return_inverse, return_counts)

arr: Matriz de entrada, se não for uma matriz unidimensional, será expandidareturn_index: Se verdadeiro, retorna a posição (índice) dos elementos da nova lista na lista antiga, armazenada em uma listareturn_inverse: Se verdadeiro, retorna a posição (índice) dos elementos da lista antiga na nova lista, armazenada em uma listareturn_counts: Se verdadeiro, retorna a contagem de ocorrências dos elementos na matriz original do array deduplicado

import numpy as np
 
a = np.array([5,2,6,2,7,5,6,8,2,9]
 
print ('Primeiro array:')
print (a)
print ('
')
 
print ('Valores únicos do primeiro array:')
u = np.unique(a)
print (u)
print ('
')
 
print ('Índices do array após a eliminação de duplicatas:')
u,indices = np.unique(a, return_index = True)
print (indices)
print ('
')
 
print ('Podemos ver cada valor correspondente ao índice do array original:')
print (a)
print ('
')
 
print ('Índices do array após a eliminação de duplicatas:')
u,indices = np.unique(a,return_inverse = True)
print (u)
print ('
')
 
print ('Índice:')
print (indices)
print ('
')
 
print ('Reconstruir o array original usando índices:')
print (u[indices])
print ('
')
 
print ('Retornar a quantidade de elementos repetidos após a eliminação de duplicatas:')
u,indices = np.unique(a,return_counts = True)
print (u)
print (indices)

O resultado da saída é:

Primeiro array:
[5 2 6 2 7 5 6 8 2 9]
Valores únicos do primeiro array:
[2 5 6 7 8 9]
Índices do array após a eliminação de duplicatas:
[1 0 2 4 7 9]
Podemos ver cada valor correspondente ao índice do array original:
[5 2 6 2 7 5 6 8 2 9]
Índices do array após a eliminação de duplicatas:
[2 5 6 7 8 9]
Índice:
[1 0 2 0 3 1 2 4 0 5]
Reconstruir o array original usando índices:
[5 2 6 2 7 5 6 8 2 9]
Retornar a quantidade de elementos repetidos após a eliminação de duplicatas:
[2 5 6 7 8 9]
[3 2 2 1 1 1]