logo

numpy.unique() in Python

Das Numpy-Modul von Python bietet eine Funktion zum Suchen eindeutiger Elemente in einem Numpy-Array. Die Funktion numpy.unique() findet die eindeutigen Elemente eines Arrays und gibt diese eindeutigen Elemente als sortiertes Array zurück. Abgesehen von den eindeutigen Elementen gibt es auch einige optionale Ausgaben, die wie folgt lauten:

  • Die Ausgabe kann aus den Indizes des Eingabearrays bestehen, die die eindeutigen Werte angeben
  • Die Ausgabe kann aus den Indizes des eindeutigen Arrays bestehen, die das Eingabearray rekonstruieren
  • Die Ausgabe kann ein Array sein, das angibt, wie oft jeder eindeutige Wert im Eingabearray vorkommt.

Syntax

 numpy.unique(a, return_index=False, return_inverse=False, return_counts=False, axis=None) 

Parameter

Dies sind die folgenden Parameter in der Funktion numpy.mean():

a: array_like

Dieser Parameter definiert das Quellarray, das Elemente enthält, deren eindeutige Werte gewünscht sind. Das Array wird reduziert, wenn es kein 1D-Array ist.

Return_index: bool (optional)

wie man einen String in ein Zeichen umwandelt

Wenn dieser Parameter auf „True“ gesetzt ist, gibt die Funktion die Indizes des Eingabearrays zurück (entlang der angegebenen Achse, falls angegeben, oder im abgeflachten Array), was zum eindeutigen Array führt.

return_inverse: bool (optional)

Wenn dieser Parameter auf „True“ gesetzt ist, gibt die Funktion auch die Indizes des Eingabearrays zurück (entlang der angegebenen Achse, sofern angegeben, oder im abgeflachten Array), die zur Rekonstruktion des Eingabearrays verwendet werden können.

Return_counts: bool (optional)

Wenn dieser Parameter auf „True“ gesetzt ist, gibt die Funktion zurück, wie oft jedes einzelne Element im Eingabearray „a“ ​​vorkam.

Achse: int oder None (optional)

xor in c++

Dieser Parameter definiert die zu bearbeitende Achse. Wenn dieser Parameter nicht gesetzt ist, wird das Array „a“ ​​reduziert. Wenn dieser Parameter eine Ganzzahl ist, werden die durch die angegebene Achse indizierten Unterarrays abgeflacht und als Element eines 1D-Arrays mit der Dimension der angegebenen Achse behandelt. Strukturierte Arrays oder Objektarrays, die Objekte enthalten, werden nicht unterstützt, wenn die Achse „kwarg“ verwendet wird.

Kehrt zurück

Diese Funktion gibt vier Arten von Ausgaben zurück:

einzigartig: ndarray

In dieser Ausgabe wird ein Ndarray angezeigt, das sortierte eindeutige Werte enthält.

unique_indices: ndarray (optional)

In dieser Ausgabe wird ein ndarray angezeigt, das die Indizes der ersten Vorkommen der eindeutigen Werte im ursprünglichen Array enthält. Diese Ausgabe wird nur bereitgestellt, wenn return_index True ist.

unique_inverse: ndarray (optional)

In dieser Ausgabe wird ein ndarray angezeigt, das die Indizes enthält, um das ursprüngliche Array aus dem eindeutigen Array zu rekonstruieren. Diese Ausgabe wird nur bereitgestellt, wenn return_inverse True ist.

unique_counts: ndarray (optional)

In dieser Ausgabe wird ein ndarray angezeigt, das angibt, wie oft jeder der eindeutigen Werte im ursprünglichen Array vorkommt. Diese Ausgabe wird nur bereitgestellt, wenn return_counts True ist.

Stringlänge Java

Beispiel 1:

 import numpy as np a=np.unique([1,2,3,4,3,6,2,4]) a 

Ausgabe:

 array([1, 2, 3, 4, 6]) 

Im obigen Code

  • Wir haben numpy mit dem Aliasnamen np importiert.
  • Wir haben die Variable „a“ deklariert und den zurückgegebenen Wert der Funktion np.unique() zugewiesen.
  • Wir haben die Anzahl der Elemente in der Funktion übergeben.
  • Zuletzt haben wir versucht, den Wert von „a“ auszugeben.

In der Ausgabe wurde ein Ndarray angezeigt, das eindeutige Elemente enthält.

Beispiel 2:

 a=np.array([[1,2,2,3,9],[1,4,3,5,8]]) a b=np.unique(a) b 

Ausgabe:

 array([[1, 2, 2, 3, 9], [1, 4, 3, 5, 8]]) array([1, 2, 3, 4, 5, 8, 9]) 

Beispiel 3:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 3, 4],[5, 9, 8],[2, 3, 4]]) a b=np.unique(a, axis=0) b 

Ausgabe:

 array([[1, 1, 0], [1, 1, 0], [2, 3, 4], [5, 9, 8], [2, 3, 4]]) array([[1, 1, 0], [2, 3, 4], [5, 9, 8]]) 

Im obigen Code

  • Wir haben numpy mit dem Aliasnamen np importiert.
  • Wir haben ein mehrdimensionales Array „a“ ​​erstellt.
  • Wir haben die Variable „b“ deklariert und den zurückgegebenen Wert der Funktion np.unique() zugewiesen.
  • Wir haben in der Funktion das mehrdimensionale Array „a“ ​​und die Achse als 0 übergeben.
  • Zuletzt haben wir versucht, den Wert von „b“ auszugeben.

In der Ausgabe wurde ein Ndarray angezeigt, das eindeutige Zeilen des Quellarrays „a“ enthält.

Beispiel 4:

 import numpy as np a = np.array([[1, 1, 0], [1, 1, 0], [2, 2, 4],[5, 5, 8],[2, 2, 4]]) a b=np.unique(a, axis=1) b 

Ausgabe:

 array([[1, 1, 0], [1, 1, 0], [2, 2, 4], [5, 5, 8], [2, 2, 4]]) array([[0, 1], [0, 1], [4, 2], [8, 5], [4, 2]]) 

Hinweis: Wenn wir die Achse auf 1 setzen, gibt diese Funktion die eindeutigen Spalten aus dem Quellarray zurück.

Beispiel 5: Return_index verwenden

 import numpy as np a = np.array(['d', 'b', 'b', 'z', 'a']) result, indices=np.unique(a,return_index=True) result indices a[indices] 

Ausgabe:

 array(['a', 'b', 'd', 'z'], dtype='|S1') array([4, 1, 0, 3], dtype=int64) array(['a', 'b', 'd', 'z'], dtype='|S1') 

Im obigen Code

  • Wir haben numpy mit dem Aliasnamen np importiert.
  • Wir haben ein Array „a“ ​​erstellt.
  • Wir haben die Variablen „Ergebnis“ und „Indizes“ deklariert und den zurückgegebenen Wert der Funktion np.unique() zugewiesen.
  • Wir haben das Array „a“ ​​übergeben und in der Funktion return_index auf True gesetzt.
  • Zuletzt haben wir versucht, den Wert von „result“, „indices“ und Array-Elementen auszugeben, der die Indizes angibt („a [indices]“).

In der Ausgabe wurde ein ndarray angezeigt, das die Indizes des ursprünglichen Arrays enthält, die eindeutige Werte ergeben.

Beispiel für einen binären Suchbaum

Beispiel 6: Return_inverse verwenden

Wir können das Eingabearray aus den eindeutigen Werten wie folgt rekonstruieren:

 import numpy as np a = np.array([1, 2, 6, 4, 5, 3, 2]) result, indices=np.unique(a,return_inverse=True) result indices a[indices] 

Ausgabe:

 array([1, 2, 3, 4, 5, 6]) array([0, 1, 5, 3, 4, 2, 1], dtype=int64) array([1, 2, 3, 4, 5, 6, 2])