2016-04-20 16 views
0

Was ist ein effizienter Weg, um eine Reihe der kumulativen Argmax einer anderen Serie zu erhalten?pandas serie kumulativ argmax

Die Art, wie ich dachte, ist

import pandas as pd 

def cumargmax(series): 
    return pd.expanding_apply(series, lambda x: x.argmax()) 

Dies funktioniert, aber ich frage mich, ob es eine Möglichkeit ist.

+0

was 'kumulative argmax eines anderen series'? Können Sie Beispieldatensatz und erwartete Ausgabe buchen? – MaxU

Antwort

1

Sie benötigen keine Cumargmax-Funktion. Stattdessen könnten Sie dies tun in einer Zeile,

pd.expanding_apply(series, lambda x: x.argmax()) 

Pandas 0,18 ist ironischen expanding_apply() Modulebene funtions. Sie ersetzen die folgenden Methodenaufruf

series.expanding().apply(lambda x: x.argmax()) 

Check-out-Dokumentation auf http://pandas.pydata.org/pandas-docs/stable/computation.html