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

Ajout et suppression des tableaux NumPy

Opérations d'ajout et de suppression de tableau, les fonctions couramment utilisées sont les suivantes :

FonctionÉlément et description
resizeRenvoyer un nouveau tableau de la forme spécifiée
appendAjouter une valeur à la fin du tableau
insertInsérer une valeur avant l'index spécifié suivant l'axe désigné
deleteSupprimer un sous-tableau de l'axe spécifié et renvoyer le nouveau tableau après suppression
uniqueRecherche de l'élément unique dans le tableau

numpy.resize

La fonction numpy.resize retourne un nouvel array de la taille spécifiée.

Si la taille du nouvel array est plus grande que la taille originale, il contient des copies des éléments de l'array original.

numpy.resize(arr, shape)

Description des paramètres :

arr : l'array à modifier la tailleshape : retourne la nouvelle forme de l'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 ('La première array :')
print (a)
print ('
')
print('Forme de la première array :')
print(a.shape)
print ('
')
b = np.resize(a, (4,2))
print('Deuxième array :')
print(b)
print ('
')
print('Forme de la deuxième array :')
print(b.shape)
print ('
')
 # Attention, la première ligne de a se répète dans b car la taille a augmenté
print('Modification de la taille de la deuxième array :')
b = np.resize(a,(5,5))
print(b)

Le résultat de la sortie est :

La première array :
[[ 1 2 3 4 5 6 7 8]
 [ 4 5 6 7 8 9 10 11]]
Forme de la première array :
(2, 8)
Deuxième array :
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
Forme de la deuxième array :
(4, 2)
Modification de la taille de la deuxième 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

La fonction numpy.append ajoute des valeurs à la fin de l'array. L'opération d'ajout alloue tout l'array, copie l'array original dans le nouveau array. De plus, les dimensions de l'array d'entrée doivent correspondre, sinon une ValueError sera générée.

Le retour de la fonction append est toujours un array unidimensionnel.

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

Description des paramètres :

arr : array d'entréevalues : les valeurs à ajouter à arr, doivent avoir la même forme que arr (sauf pour l'axe à ajouter)axis : par défaut None. Lorsque axis n'est pas défini, il est ajouté horizontalement, et le retour est toujours un array unidimensionnel ! Lorsque axis est défini, il est respectivement 0 et1lorsque. Lorsque axis est défini, il est respectivement 0 et1lorsque (le nombre de colonnes doit être le même). Lorsque axis est1lorsque, l'array est ajouté à droite (le nombre de lignes doit être le même).

import numpy as np
a = np.array([[1,2,3,4,5,6,7,8],[4,5,6,7,8,9,10,11]]
print ('La première array :')
print (a)
print ('
')
print('Ajout d'éléments à l'array :')
print(np.append(a, [7,8,9))
print ('
')
print('Ajout d'éléments le long de l'axe 0 :')
print(np.append(a, [[1,2,3,4,5,6,7,8], axis = 0))
print ('
')
print ('Sur l'axe 1 Ajout d'éléments :'))
print(np.append(a, [[5,5,5,5,5,5,5],[7,8,9,7,8,9,1], axis = 1))

Le résultat de la sortie est :

La première array :
[[ 1 2 3 4 5 6 7 8]
 [ 4 5 6 7 8 9 10 11]]
Ajout d'éléments à l'array :
[ 1 2 3 4 5 6 7 8 4 5 6 7 8 9 10 11 7 8 9]
Ajout d'éléments le long de l'axe 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]]
Sur l'axe 1 Ajout d'éléments :
[[ 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

La fonction numpy.insert insère des valeurs avant l'index donné le long de l'axe dans l'array d'entrée.

Si le type de la valeur à insérer est converti en celui de l'array d'entrée, il est différent de l'array d'entrée. L'insertion n'est pas en place, la fonction retourne un nouvel array. De plus, si l'axe n'est pas fourni, l'array d'entrée est étendu.

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

Description des paramètres :

arr : array d'entréeobj : l'index avant lequel insérer les valeursvalues : valeurs à inséreraxis : l'axe le long duquel insérer, si non fourni, l'array d'entrée sera étendu

import numpy as np
a = np.array([[1,2],[3,4],[5,6]]
 
print ('La première array :')
print (a)
print ('
')
 
print ('L'argument Axis n'a pas été passé. L'array d'entrée sera étendu avant l'insertion.')
print (np.insert(a,3,11,12))
print ('
')
print ('L'argument Axis a été passé. Les valeurs de l'array de diffusion seront alignées avec l'array d'entrée.')
 
print ('Sur l'axe 0 :')
print (np.insert(a,1,11],axis = 0))
print ('
')
 
print ('Sur l'axe 1 Diffusion : ')
print (np.insert(a,1,11,axis = 1))

Les résultats de la sortie sont les suivants :

La première array :
[[1 2]
 [3 4]
 [5 6]]
L'argument Axis n'a pas été passé. L'array d'entrée sera étendu avant l'insertion.
[ 1 2 3 11 12 4 5 6]
L'argument Axis a été passé. Les valeurs de l'array de diffusion seront alignées avec l'array d'entrée.
Diffusion sur l'axe 0 :
[[ 1 2]
 [11 11]
 [ 3 4]
 [ 5 6]]
Sur l'axe 1 Diffusion :
[[ 1 11 2]
 [ 3 11 4]
 [ 5 11 6]]

numpy.delete

La fonction numpy.delete retourne un nouveau array formé en supprimant le sous-array spécifié de l'array d'entrée. Comme dans le cas de la fonction insert(), si l'argument axe n'est pas fourni, l'array d'entrée sera étendu.

Numpy.delete(arr, obj, axis)

Description des paramètres :

arr : array d'entréeobj : peut être tranché, entier ou tableau d'entiers, indiquant le sous-array à supprimer de l'array d'entréeaxis : le long duquel supprimer le sous-array donné, si non fourni, l'array d'entrée sera étendu

import numpy as np
 
a = np.arange(12).reshape(3,4)
 
print ('La première array :')
print (a)
print ('
')
 
print ('L'argument Axis n'a pas été passé. L'array d'entrée sera étendu avant l'insertion.')
print (np.delete(a,5))
print ('
')
 
print ('Supprimer la deuxième colonne :')
print (np.delete(a,1,axis = 1))
print ('
')
 
print ('Contient la tranchée de remplacement supprimée de l'array :')
a = np.array([1,2,3,4,5,6,7,8,9,10]
print (np.delete(a, np.s_[::2))

Le résultat de la sortie est :

La première array :
[[ 0 1 2 3]
 [ 4 5 6 7]
 [ 8 9 10 11]]
L'argument Axis n'a pas été passé. L'array d'entrée sera étendu avant l'insertion.
[ 0 1 2 3 4 6 7 8 9 10 11]
Supprimer la deuxième colonne :
[[ 0 2 3]
 [ 4 6 7]
 [ 8 10 11]]
Contient la tranchée de remplacement supprimée de l'array :
[ 2 4 6 8 10]

numpy.unique

La fonction numpy.unique est utilisée pour supprimer les éléments répétés dans un array.

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

arr : array d'entrée, s'il n'est pas un array d'une dimension, il sera étendureturn_index : si vrai, retourne les positions des éléments de la nouvelle liste dans l'ancienne liste (indices), stockés sous forme de listereturn_inverse : si vrai, retourne les positions des éléments de l'ancienne liste dans la nouvelle liste (indices), stockés sous forme de listereturn_counts : si vrai, retourne le nombre d'apparitions des éléments de l'array original dans l'array dédoublé

import numpy as np
 
a = np.array([5,2,6,2,7,5,6,8,2,9]
 
print ('La première array :')
print (a)
print ('
')
 
print ('La valeur distincte de la première array :')
u = np.unique(a)
print (u)
print ('
')
 
print ('Les indices de l'ensemble distinct :')
u,indices = np.unique(a,return_index = True)
print (indices)
print ('
')
 
print ('Nous pouvons voir chaque valeur correspondant à l'index de l'ensemble original :')
print (a)
print ('
')
 
print ('Les indices de l'ensemble distinct :')
u,indices = np.unique(a,return_inverse = True)
print (u)
print ('
')
 
print ('Les indices sont :')
print (indices)
print ('
')
 
print ('Récupérer l'original en utilisant les indices :')
print (u[indices])
print ('
')
 
print ('Retourner le nombre de répétitions des éléments distincts :')
u,indices = np.unique(a,return_counts = True)
print (u)
print (indices)

Le résultat de la sortie est :

La première array :
[5 2 6 2 7 5 6 8 2 9]
La valeur distincte de la première array :
[2 5 6 7 8 9]
Tableau d'indices de l'ensemble distinct :
[1 0 2 4 7 9]
Nous pouvons voir chaque valeur correspondant à l'index de l'ensemble original :
[5 2 6 2 7 5 6 8 2 9]
Les indices de l'ensemble distinct :
[2 5 6 7 8 9]
Les indices sont :
[1 0 2 0 3 1 2 4 0 5]
Récupérer l'original en utilisant les indices :
[5 2 6 2 7 5 6 8 2 9]
Retourner le nombre de répétitions des éléments distincts :
[2 5 6 7 8 9]
[3 2 2 1 1 1]