Die effiziente Verarbeitung von DataFrame Zeilen mit einer Python-Funktion?

In vielen Orten in unserer Pandas-code verwenden, haben wir einige Python-Funktion process(row). Diese Funktion wird verwendet, über DataFrame.iterrows(), wobei jede row, und das machen einige Verarbeitung und gibt einen Wert zurück, die wir ultimative sammeln, in eine neue Series.

Ich weiß, das Nutzungsverhalten umgeht die meisten Leistungen der numpy /Pandas stack.

  1. Was wäre der beste Weg, um dieses Nutzerverhalten möglichst effiziente
    wie möglich?
  2. Können wir möglicherweise tun Sie es, ohne umschreiben die meisten unserer code?

Einem anderen Aspekt dieser Frage: können alle Funktionen umgewandelt werden in ein numpy-effiziente Darstellung? Ich habe viel zu lernen über die numpy /scipy /Pandas stack, aber es scheint, dass wirklich beliebige Logik, können Sie manchmal brauchen, um Sie nur eine langsame Reine Python-Architektur, wie die oben. Ist das der Fall?

Wenn Sie Mathematik betreiben, Sie sollten in der Lage sein zu tun vektorisierte Operationen. Wenn Sie mit strings oder anderen nicht festen Größe von Datentypen, die Sie tun könnten, die Mathematik auf zahlen in einer vecorized Weg, dann Zeilen-basiert für den rest... können Sie bieten einige Details auf, was du tust?

InformationsquelleAutor Dun Peal | 2013-08-16

Schreibe einen Kommentar