Die Überprüfung, ob ein Numpy-Array eine bestimmte Zeile enthält, kann effizient durchgeführt werden ohne das gesamte Array zu durchlaufen. Diese Optimierung ist besonders wichtig, wenn es um große Datensätze geht.
1. Mit .tolist()
Konvertieren Sie das Numpy-Array in eine Liste für einen pythonischen und einfachen Vergleich.
2. Verwenden einer Ansicht
Erstellen Sie eine Ansicht des Arrays, um elementweise Vergleiche effizient durchzuführen.
3. Generieren über das Array
Generieren über das Numpy-Array und Vergleichen jeder Zeile mit der Zielzeile. Beachten Sie, dass diese Methode bei großen Arrays langsam sein kann.
4. Einsatz von Numpy-Logikfunktionen
Nutzen Sie die logischen Funktionen von Numpy, wie z. B. np.equal, um effiziente elementweise Vergleiche durchzuführen.
Während der Leistung von Jede Methode variiert je nach Größe des Arrays und Suchmuster. np.equal ist in der Regel die schnellste reine Numpy-Option. Bei frühen Treffern kann der Python-In-Operator geringfügig schneller sein. Der Generatoransatz schneidet schlecht ab, wenn große Teile des Arrays durchsucht werden.
Hier sind die Ergebnisse eines Benchmark-Vergleichs:
Methode | Zeit (Sekunden) | Genauigkeit |
---|---|---|
Ansicht | 0,1 | Wahr |
Python-Liste | 0.3 | True |
Generator | 3.2 | True |
Logik gleich | 0,1 | Wahr |
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3