Scipy maskierte Arrays

Scipy maskierte Arrays

Wenn Sie in Python eine statistische oder wissenschaftliche Berechnung durchführen möchten, rennen Sie immer in Richtung der Scipy -Bibliothek. Die Scipy Library ist eine der am häufigsten verwendeten Python -Bibliotheken, da sie eine geeignete Funktion für jede Art von mathematischer, statistischer und wissenschaftlicher Berechnung bietet. Es ist nicht nur eine Bibliothek, sondern ein ganzes Ökosystem von Bibliotheken, die miteinander kombiniert sind, damit Sie einfach eine einfache oder komplexe Aufgabe ausführen können. Mit diesem Leitfaden können Sie die Scipy -Funktionen erkunden, die mit maskierten Arrays verwendet werden können.

Was ist ein maskiertes Array?

Ein maskiertes Array ist ein Array, das möglicherweise ungültige oder fehlende Einträge aufweist. Bei verschiedenen Vorkommen können die Datensätze oder Arrays durch das Vorhandensein ungültiger Daten verdorben oder unvollständig werden. Beispielsweise hat ein Sensor aus mehreren Gründen ungültige Daten aufgezeichnet, oder es hat möglicherweise keine Daten aufgezeichnet. Jetzt haben wir entweder einen leeren Datensatz oder einen Datensatz voller ungültiger Einträge. Die einfache Möglichkeit, mit solchen Datensätzen umzugehen, besteht darin, diese Arrays zu maskieren. Die Numpy -Bibliothek bietet eine einfache Maskierungsfunktion, um solche Arrays zu maskieren. Die Scipy -Bibliothek selbst bietet keine Maskierungsfunktion, mit der ein Datensatz maskiert werden kann. Es bietet jedoch viele Funktionen, die mit den Masken -Arrays verwendet werden sollen.

In diesem Handbuch werden Sie zunächst dazu führen, wie Sie die Numpy -Bibliothek verwenden können, um einen Datensatz zu maskieren. Dann werden wir demonstrieren, wie die Funktionen der Scipy -Bibliothek mit maskierten Arrays verwendet werden können. In Numpy ist das maskierte Array eine Kombination aus einem Standard -NDarray und einer Maske. Der Maskenwert kann entweder Nominal oder eine Liste von Booleschen sein, die die Maskierung für jeden Wert im Datensatz angeben. Wenn Sie beispielsweise die Nominierung für den Maskenwert angeben, bedeutet dies, dass im Datensatz keinen ungültigen Wert vorhanden ist. Wenn Sie ein Boolean -Array für den Datensatz angeben, bestimmt jeder Wert den gültigen oder ungültigen Wert, der dem angegebenen Datensatz zugeordnet ist. Wenn der Maskenwert falsch ist, ist der entsprechende Wert im Datensatz gültig, sodass er nicht maskiert wird. Wenn der Maskenwert zutrifft, ist der entsprechende Wert ungültig, so dass er maskiert wird. Lassen Sie uns nun ein Beispiel sehen, um ein klares Verständnis zu haben.

Beispiel 1:

In diesem Beispiel werden wir Sie dazu führen, wie Sie ein Array mit der Numpy -Maskierungsfunktion maskieren können. Wir werden untersuchen, wie der „Numpy.MA ”-Funktion funktioniert in einem Programm, um einen bestimmten Datensatz zu maskieren. Betrachten Sie den angegebenen Beispielcode:

Numph als NP importieren
Numpy importieren.Ma als ma
Data = np.Array ([2, 5, 8, -9, -7])
Maske = ma.masked_array (Daten, Mask = [0, 0, 0, 1, 1],
DTYPE = NP.int8)
print ("Das maskierte Array ist: \ n", Maske)
print ("\ n")
mask_na = np.ma.gefüllt (Maske.Astype (Float), NP.Nan)
print ("ersetzt durch nan: \ n", mask_na)

Erstens wird die Numpy -Bibliothek in das Programm importiert, um die Funktionen für Array und MA zu verwenden. Das Array wird mit dem NP deklariert.array () Funktion. Dann der MA.Masked_array () wird verwendet, um das Array zu maskieren. Dann verwenden wir den NP.ma.füll () Funktion zum Ersetzen der ungültigen Werte durch NAN -Werte ersetzen. Lassen Sie uns nun das folgende Ergebnis ansehen:

Beispiel 2:

Da wir verstehen, wie Numpy -Funktionen verwendet werden, um einen Datensatz zu maskieren. In diesem Beispiel werden wir ein Array mit Numpy -Funktionen maskieren und eine Scipy -Funktion mit den maskierten Arrays verwenden. Betrachten Sie den folgenden Beispielcode:

Numph als NP importieren
Numpy importieren.Ma als ma
von Scipy.Statistiken.mstats import beschreiben
Data = np.Array ([2, 5, 8, -9, -7])
Maske = ma.masked_array (Daten, Mask = [0, 0, 0, 1, 1],
DTYPE = NP.int8)
print ("Das maskierte Array ist: \ n", Maske)
print ("\ n")
mask_na = beschreiben (Maske)
print ("Die Beschreibung von Array: \ n", mask_na)

Die Numpy -Bibliothek wird in das Programm importiert, da wir den MA verwenden müssen.masked_array () Funktion zum Maskieren des Datensatzes. Die Scipy -Bibliothek, ihr Statistikpaket und die MSTATS -Klasse werden in das Programm importiert, um die Funktion „Beschreiben“ zu verwenden. Die Funktion „Beschreibung“ wird verwendet, um die statistische Beschreibung des angegebenen Arrays oder des Datensatzes zu erhalten. Die Syntax der Beschreibung () -Funktion lautet wie folgt:

Der Parameter „Array“ enthält die Eingabedaten. Der Parameter „Achsen“ wird verwendet, um die Achse zu definieren, die zur Beschreibung verwendet werden soll. Der Parameter „DDOF“ wird verwendet, um den Freiheitsgrad zu finden. Und der Parameter „Vorspannung“ wird verwendet, um die statistische Verzerrung zu definieren. Lassen Sie uns nun die Ausgabe der Beschreibungsfunktion im folgenden Snippet sehen:

Beispiel 3:

Verwenden wir eine andere Scipy -Funktion auf dem maskierten Array, um die Funktionen der Funktion mit maskierten Arrays zu verstehen. In diesem Beispiel zeigen wir Ihnen die Verwendung der Modusfunktion zusammen mit dem maskierten Array. Betrachten Sie den folgenden Beispielcode:

Numph als NP importieren
Numpy importieren.Ma als ma
von Scipy.Statistiken importieren MStats
Data = np.Array ([2, 5, 8, -9, -7])
Maske = ma.masked_array (Daten, Mask = [0, 0, 0, 1, 1],
DTYPE = NP.int8)
print ("Das maskierte Array ist: \ n", Maske)
print ("\ n")
mask_na = mstats.Modus (Maske)
print ("Die Art des Arrays: \ n", mask_na)

Der erste Abschnitt des Programms ist derselbe, den wir im vorherigen Beispiel verwendet haben. Der Datensatz und die Maskierungsmethode des Arrays sind ebenfalls gleich. Wir haben die Methode nur geändert. Hier verwenden wir die Modusfunktion, um den Modus des maskierten Arrays zu ermitteln. Die Syntax der Modusfunktion lautet wie folgt:

Der Parameter „Array“ wird verwendet, um den Datensatz bereitzustellen. Der Parameter „Achsen“ wird verwendet, um die Achse zu definieren, die verwendet werden soll, um den Modus der Daten zu finden. Lassen Sie uns nun den Modus des maskierten Arrays im Folgenden sehen:

Beispiel 4:

Die nächste Funktion der Scipy -Bibliothek, die mit einem maskierten Array verwendet werden kann, ist zScore (). Die zScore -Funktion wird verwendet, um den ZSCORE der angegebenen Daten zu berechnen. Betrachten Sie das folgende Beispielbeispiel:

Numph als NP importieren
Numpy importieren.Ma als ma
aus Scipy -Importstatistiken
Data = np.Array ([2, 5, 8, -9, -7])
Maske = ma.masked_array (Daten, Mask = [0, 0, 0, 1, 1],
DTYPE = NP.int8)
print ("Das maskierte Array ist: \ n", Maske)
print ("\ n")
mask_na = Statistiken.Zscore (Maske)
print ("Der zScore ist: \ n", mask_na)

Auch hier verwenden wir dasselbe Programm und änderten einfach die Skipy -Funktion, die mit dem maskierten Array verwendet werden soll. Wie Sie sehen können, übergeben wir das maskierte Array an die zScore -Funktion. Die Syntax der zScore -Funktion lautet wie folgt:

Der Parameter „Array“ wird verwendet, um die Daten für die SZCORE -Funktion bereitzustellen. Der Parameter „Achse“ hält die Achse, die für die Berechnung des ZSCORE verwendet werden soll. Der Parameter „DDOF“ wird verwendet, um den Grad der Freiheitskorrektur zu definieren. Zuletzt wird der Parameter „nan_policy“ verwendet, um zu definieren, wie mit den NAN -Werten umgeht. Lassen Sie uns nun das folgende Ergebnis der zScore -Funktion sehen:

Abschluss

Dieser Python -Artikel ist ein kurzer Überblick über das scipy maskierte Array. Wir haben gelernt, dass Scipy keine Funktion oder Methode zur Maskierung eines Arrays bietet. Es bietet jedoch eine Liste einfacher und nützlicher Funktionen, die mit maskierten Arrays verwendet werden können. Die Numpy Library bietet dem MA an.masked_array () Funktion zum Maskieren des Arrays und dieses maskierte Array kann an jede Skip -Funktion übergeben werden, um den gewünschten Betrieb auf den maskierten Daten auszuführen.