Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man Werte, die größer als ein Schwellenwert sind, in NumPy-Arrays effizient ersetzen?

Wie kann man Werte, die größer als ein Schwellenwert sind, in NumPy-Arrays effizient ersetzen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 07:54:02896Durchsuche

How to Efficiently Replace Values Greater Than a Threshold in NumPy Arrays?

So ersetzen Sie Werte, die größer als ein Schwellenwert in NumPy-Arrays sind

Bei der Arbeit mit NumPy-Arrays kann es Situationen geben, in denen Sie Änderungen vornehmen müssen Werte, die einen bestimmten Schwellenwert überschreiten. Erwägen Sie, alle Werte größer als ein Wert T = 255 durch einen Ersatzwert x = 255 zu ersetzen.

Ein auf einer For-Schleife basierender Ansatz kann zwar verwendet werden, ist jedoch aufgrund seiner langsamen Ausführung nicht optimal. NumPy bietet eine effizientere Lösung mit ausgefallener Indizierung.

Um alle Werte größer als T durch ausgefallene Indizierung zu ersetzen, verwenden Sie einfach die folgende Syntax:

<code class="python">arr[arr > T] = x</code>

Zum Beispiel:

<code class="python">import numpy as np
arr = np.random.randint(256, size=(10, 10))
arr[arr > 255] = 255</code>

Dieser Vorgang ändert die Elemente im Array „arr“, die größer als 255 bis 255 sind.

Die Vorteile der Verwendung einer ausgefallenen Indizierung liegen in ihrer Geschwindigkeit und Prägnanz. Es hat sich gezeigt, dass dieser Ansatz deutlich schneller ist als schleifenbasierte Methoden, insbesondere bei großen Arrays.

Das obige ist der detaillierte Inhalt vonWie kann man Werte, die größer als ein Schwellenwert sind, in NumPy-Arrays effizient ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn