Problème :
Dans un tableau NumPy bidimensionnel, vous souhaitez remplacer les valeurs supérieures à un seuil (par exemple, T = 255) par une valeur spécifique (par exemple, x = 255). Une approche conventionnelle implique une boucle for fastidieuse.
Solution :
NumPy offre une solution concise et efficace qui élimine le besoin de boucle explicite. En tirant parti de l'indexation Fancy, vous pouvez effectuer facilement l'opération de remplacement :
<code class="python">arr[arr > 255] = x</code>
Cette seule ligne de code remplace tous les éléments du tableau répondant à la condition (> 255) par la valeur spécifiée (x).
Performance :
L'approche d'indexation Fancy est nettement plus rapide que la méthode de la boucle for, comme le démontrent les mesures de synchronisation. Pour une matrice aléatoire de 500 x 500, remplacer les valeurs supérieures à 0,5 par 5 prend en moyenne 7,59 millisecondes en utilisant l'indexation Fancy :
<code class="python">import numpy as np A = np.random.rand(500, 500) %timeit A[A > 0.5] = 5</code>
Avantages :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!