Remplacement efficace des valeurs de tableau NumPy pour les valeurs dépassant le seuil
Lorsqu'il s'agit de tableaux NumPy, il est souvent nécessaire de remplacer les éléments qui répondent à certains critères par une valeur spécifique. Un scénario courant consiste à remplacer les valeurs supérieures à un seuil.
Remplacement de la valeur du seuil
Pour remplacer toutes les valeurs d'un tableau NumPy 2D qui dépassent un seuil T par une valeur x , vous pouvez utiliser l'indexation NumPy'sFancy comme suit :
<code class="python">arr[arr > T] = x</code>
Cette méthode est très efficace et concise, ce qui la rend idéale pour les grands tableaux.
Comparaison avec l'approche For-Loop
L'approche en boucle for mentionnée dans la question nécessite une itération sur l'ensemble du tableau. Cette méthode est lente et inefficace, en particulier pour les grands tableaux. D'un autre côté, l'indexation Fancy opère sur l'ensemble du tableau à la fois, ce qui entraîne des temps d'exécution nettement plus rapides.
Exemple d'utilisation
Considérons une matrice aléatoire de 500 x 500 où nous voulons remplacer toutes les valeurs supérieures à 0,5 par 5 :
<code class="python">import numpy as np A = np.random.rand(500, 500) A[A > 0.5] = 5</code>
Cette opération ne prend qu'une fraction du temps par rapport à l'approche en boucle for.
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!