Zählen der Anzahl von nicht-NaN-Elemente in ein ndarray numpy Python

Brauche ich zur Berechnung der Anzahl von nicht-NaN-Elemente in ein ndarray numpy matrix. Wie würde man effizient tun Sie dies in Python? Hier ist mein einfacher code für die Erreichung dieses:

import numpy as np

def numberOfNonNans(data):
    count = 0
    for i in data:
        if not np.isnan(i):
            count += 1
    return count 

Gibt es eine eingebaute Funktion für diesen in numpy? Effizienz ist wichtig, weil ich mache Big-Data-Analyse.

Thnx für jede Hilfe!!!

  • Diese Frage scheint off-topic, weil es auf codereview.stackexchange.com
  • Du meinst, effiziente in Bezug auf Speicher?
  • +1 ich dachte an CPU-Zeit, aber ja, warum nicht Speicher. Je schneller und billiger, desto besser =)
  • Eine Speicher-effiziente version wil sum(not np.isnan(x) for x in a), aber in Bezug auf Geschwindigkeit, es ist langsam im Vergleich zu @M4rtini numpy-version.
  • Ich danke Ihnen sehr! Ich muss sehen, was einem wichtiger ist in meiner Bewerbung =)
InformationsquelleAutor jjepsuomi | 2014-02-14
Schreibe einen Kommentar