Auswahl der Teilmenge der pandas groupby-dataframe, wo mehr als ein Schlüssel-Werte
Habe ich ein dataframe von Werten, die wie folgt aussah:
mode journey stage
0 BUS 1 1
1 RTS 1 2
2 BUS 2 1
3 RTS 3 1
4 BUS 3 2
5 BUS 4 1
Habe ich eine groupby ['Reise','mode'] und erhalten:
g=df.groupby(['journey','mode'])
g.size()
journey mode
1 BUS 1
RTS 1
2 BUS 1
3 RTS 1
BUS 1
4 BUS 1
Ich würde wollen, zu identifizieren Reisen beteiligt, dass die beiden BUS-und RTS, also in diesem Fall, das Ergebnis sollte Rückreise 1 und 3.
Darf ich wissen, wie dies getan werden kann?
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Gruppe durch die Reise alleine und dann überprüfen Sie, ob jede Gruppe enthält mehr als eine Bühne:
Wenn Ihre Daten enthält andere Modi und die Sie speziell brauchen, um zu überprüfen, für diejenigen, die mit "BUS" und "RTS", die Sie tun können, explizit zu überprüfen:
Die grundlegende Idee, obwohl, ist, dass, wenn Sie möchten, um herauszufinden, "Reisen beteiligt, dass so-und-so", Sie sollte die Gruppe nur durch die Reise, und dann berechnen Sie für jede Gruppe, ob es entspricht die so-und-so-Zustand.
d.groupby('journey')['mode'].unique().apply(lambda u: 'BUS' in u and 'RTS in u)