2017-06-20 2 views
4

Kürzlich habe ich den Wechsel von der Verwendung von NUMPY ndarray zu Pandas DataFrame für meine Datenanalyse benötigt. Ich habe bemerkt, dass numpige Funktionen DataFrame Objekte anstelle von ndarray ohne Problem zu akzeptieren scheinen. Wenn ich jedoch versuche, viele meiner vorhandenen Funktionen zu verwenden, die für ndarray geschrieben wurden, scheitern sie oft bei Indexierungsoperationen, Rundsendungen usw., und ich bin gezwungen, die zugrunde liegende ndarray mit df.values zu übergeben.Wie schreibe ich DataFrame-freundliche Funktionen

Gibt es einen Standardweg oder eine Reihe von Richtlinien, um eine Funktion mit DataFrame kompatibel zu machen? Wie können die numpigen Funktionen für beide Typen angepasst werden?

Antwort

1

I umsortiert herum im numpy Quellcode zu graben und fand, daß viele Funktionen einfach die Eingabe zu ndarray ersten unter Verwendung von Funktionen wie asarray oder asanyarray konvertieren.

def numpyFunction(x, *args, **kwargs): 
    x = np.asanyarray(x) 
    ...