Problem
Wir haben ein Array mit Booleschen Elementen. Das Ziel ist es zu bestimmen, wie viele dieser Elemente im Array wahr sind.
Lösung 1
Der naive Ansatz würde einen Summenschalter und eine für Schleife erzeugen, die über jedes Element im Array iteriert. Wir prüfen dann, ob dieses Element wahr ist, und wenn ja, fügen wir es dem Zähler hinzu.
Nach Abschluss erhalten wir den Wert der Summenvariablen, die Anzahl der echten Elemente im Array.
Lösung 2
Wir können uns dem Problem intelligent angehen, da wir den naiven Ansatz nicht betrachten.
Wir wissen, dass Python einen falschen Wert als 0 und einen anderen Wert als wahr behandelt. Wenn dies der Fall ist, können wir die Funktion numpy count_nonzero () verwenden, um das Problem zu lösen.
Mit der Funktion numpy count_nonzero () können wir alle Werte ungleich Null in einem bestimmten Array berechnen. Oder, ich sage, es wird es uns ermöglichen, die Anzahl der tatsächlichen Werte in einem Array zu zählen.
Die Funktionssyntax ist wie gezeigt:
1 | Numpy.count_nonzero (a, axis = keine, *, keepdims = false) |
Beispiel 1
Betrachten Sie das folgende Beispiel, mit dem die Funktion count_nonzero () verwendet wird, um die Anzahl der Elemente ungleich Null im Array zu bestimmen.
arr = [1,2,0,3,4,0,5,6,7]
drucken („ungleich Null“, NP.count_nonzero (arr))
Der obige Code sollte die Anzahl der Werte ungleich Null bestimmen und das Ergebnis wie gezeigt drucken:
1 | ungleich Null 7 |
Beispiel 2
Der gleiche Fall gilt für boolesche Werte, wie im folgenden Array gezeigt:
1 2 | arr = [wahr, falsch, wahr], [wahr, falsch, falsch]] print ("ungleich Null", NP.count_nonzero (arr)) |
Das Ausgangsergebnis ist wie gezeigt:
1 | ungleich Null 3 |
Und damit haben wir unser anfängliches Problem gelöst.
Abschluss
Vielen Dank, dass Sie dieses Tutorial verfolgt haben, in dem wir behandelt werden, wie die Funktion count_nonzero () verwendet wird, um die Anzahl der echten Elemente in einem Array zu bestimmen.
Glückliche Codierung!!