Übernehmen Sie die Funktion in der 2. Spalte in Pandas Dataframe groupby

8

In einem Pandas-Datenframe kann eine Funktion verwendet werden, um ihren Index zu gruppieren. Ich möchte eine Funktion definieren, die stattdessen auf eine Spalte angewendet wird.

Ich möchte nach zwei Spalten gruppieren, außer dass die zweite Spalte nach einer beliebigen Funktion, foo :

, gruppiert werden muss %Vor%

Wie würde foo definiert werden, um die zweite Spalte in zwei Gruppen zu gruppieren, die davon abgegrenzt sind, ob die Werte beispielsweise > 0 sind? Oder wird ein völlig anderer Ansatz oder eine andere Syntax verwendet?

    
Brian Bien 25.10.2016, 23:09
quelle

2 Antworten

6

Groupby kann jede Kombination von Beschriftungen und Serien / Arrays akzeptieren (solange das Array die gleiche Länge wie Ihr Datenrahmen hat), so dass Sie die Funktion Ihrer Spalte zuordnen und wie

%Vor%

Alternativ können Sie die Bedingung als neue Spalte zu Ihrem Datenframe hinzufügen, bevor Sie die groupby ausführen, dies hat den Vorteil, dass Sie ihm einen Namen im Index geben:

%Vor%     
maxymoo 25.10.2016, 23:16
quelle
2

So etwas funktioniert:

%Vor%

Wie oben erwähnt, kann groupby Labels und Serien akzeptieren. Dies sollte Ihnen die Antwort geben, nach der Sie suchen. Hier ist ein Beispiel:

%Vor%     
RDizzl3 25.10.2016 23:23
quelle

Tags und Links