English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
operações de adição e exclusão de arrays, as funções mais comuns são as seguintes:
funções | elementos e descrições |
resize | retornar um novo array com a forma especificada |
append | adicionar valores ao final do array |
insert | inserir valores antes do índice especificado ao longo do eixo especificado |
delete | remover subarray de um eixo específico e retornar o novo array resultante |
unique | procurar elementos únicos dentro do array |
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]]
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]]
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]]
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]
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]