Maison  >  Article  >  développement back-end  >  Voici quelques titres basés sur des questions qui correspondent au contenu de votre article : **Miser sur l'efficacité :** * **Remplacement des valeurs du tableau NumPy : comment remplacer efficacement les valeurs supérieures à un seuil ?** * **Qu

Voici quelques titres basés sur des questions qui correspondent au contenu de votre article : **Miser sur l'efficacité :** * **Remplacement des valeurs du tableau NumPy : comment remplacer efficacement les valeurs supérieures à un seuil ?** * **Qu

DDD
DDDoriginal
2024-10-26 14:43:30123parcourir

Here are some question-based titles that fit the content of your article:

**Focusing on efficiency:**

* **NumPy Array Value Replacement: How to Replace Values Above a Threshold Efficiently?**
* **Why is Fancy Indexing the Fastest Way to Replace Values i

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn