Rangwerte in NumPy Array
-
NumPy Rank Mit der Methode
numpy.argsort()
-
NumPy Rank mit der Funktion
scipy.stats.rankdata()
in Python
In diesem Tutorial werden die Methoden zum Einstufen von Daten in einem Python NumPy-Array vorgestellt.
NumPy Rank Mit der Methode numpy.argsort()
Die Methode numpy.argsort()
wird verwendet, um die Indizes zu erhalten, die zum Sortieren eines NumPy-Arrays verwendet werden können. Diese Indizes können auch als Ränge für jedes Element innerhalb des Arrays verwendet werden. Die Methode numpy.argsort()
wird vom Array aufgerufen und gibt den Rang jedes Elements innerhalb des Arrays in Form eines anderen Arrays zurück.
import numpy as np
array = np.array([1, 8, 5, 7, 9])
temp = array.argsort()
ranks = np.empty_like(temp)
ranks[temp] = np.arange(len(array))
print(array)
print(ranks)
Ausgabe:
[1 8 5 7 9]
[0 3 1 2 4]
Wir haben die Elemente innerhalb des NumPy-Arrays array
mit der Funktion numpy.argsort()
im obigen Code geordnet. Wir haben unser Array zuerst mit der Funktion np.array()
erstellt. Wir haben dann die Funktion array.argsort()
verwendet und die Werte im Array temp
gespeichert. Danach haben wir ein weiteres Array erstellt, ranks
, das den Rang jedes Elements im array
enthält. Dann haben wir den Rang jedes Elements innerhalb des array
jedem Element der ranks
mit ranks[temp] = np.arange(len(array))
zugewiesen.
Die im oben erwähnten Codierungsbeispiel besprochene Methode funktioniert gut, aber wir können unseren Code mit der Funktion numpy.argsort()
zweimal weiter vereinfachen. Dieses Phänomen wird im folgenden Codierungsbeispiel demonstriert.
import numpy as np
array = np.array([1, 8, 5, 7, 9])
temp = array.argsort()
ranks = temp.argsort()
print(array)
print(ranks)
Ausgabe:
[1 8 5 7 9]
[0 3 1 2 4]
Wir haben ein weiteres Array ranks
erstellt und jedem Element der ranks
mit ranks = temp.argsort()
den Rang jedes Elements innerhalb des arrays
zugewiesen.
NumPy Rank mit der Funktion scipy.stats.rankdata()
in Python
Wir können auch die rankdata()
-Funktion in der scipy.stats
-Bibliothek verwenden, um den Rang jedes Elements in unserem NumPy-Array zu ermitteln. Die Funktion rankdata()
nimmt das Array als Eingabeparameter, stuft jedes Element innerhalb des Arrays ein und gibt das Ergebnis in Form eines anderen Arrays derselben Länge zurück.
from scipy.stats import rankdata
import numpy as np
array = np.array([1, 8, 5, 7, 9])
ranks = rankdata(array)
print(array)
print(ranks)
Ausgabe:
[1 8 5 7 9]
[1. 4. 2. 3. 5.]
Wir haben unser Array zuerst mit der Funktion np.array()
erstellt. Wir haben dann die Funktion rankdata(array)
verwendet und die Werte im Array ranks
gespeichert.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn