English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Opérations d'ajout et de suppression de tableau, les fonctions couramment utilisées sont les suivantes :
Fonction | Élément et description |
resize | Renvoyer un nouveau tableau de la forme spécifiée |
append | Ajouter une valeur à la fin du tableau |
insert | Insérer une valeur avant l'index spécifié suivant l'axe désigné |
delete | Supprimer un sous-tableau de l'axe spécifié et renvoyer le nouveau tableau après suppression |
unique | Recherche de l'élément unique dans le tableau |
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]]
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]]
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]]
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]
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]