Hier ist ein Beispiel für Daten, an denen ich arbeite. (Als Pandas df)Python Pandas - Filtern von df durch die Anzahl der eindeutigen Werte innerhalb einer Gruppe
index inv Rev_stream Bill_type Net_rev
1 1 A Original -24.77
2 1 B Original -24.77
3 2 A Original -409.33
4 2 B Original -409.33
5 2 C Original -409.33
6 2 D Original -409.33
7 3 A Original -843.11
8 3 A Rebill 279.5
9 3 B Original -843.11
10 4 A Rebill 279.5
11 4 B Original -843.11
12 5 B Rebill 279.5
Wie kann ich diesen df filtere, in einer Art und Weise nur die Linien, wo Rechnung/Rev_stream Combo sowohl Original und rebill Art von Net_rev hat. Im obigen Beispiel wären es nur Zeilen mit Index 7 und 8.
Gibt es eine einfache Möglichkeit, dies zu tun, ohne über den gesamten Datenrahmen zu iterieren und Wörterbücher für Rechnung + RevStream zu erstellen: Bill_type?
Was ich suche, ist eine Art von
df = df[df[['inv','Rev_stream']]['Bill_type'].unique().len() == 2]
Leider oben wird der Code nicht funktioniert.
Vielen Dank im Voraus.
Vielen Dank ! Es dauert eine Weile für meine durchschnittlichen Datensätze (etwa 500k Zeilen), aber es funktioniert wie ein Charme! – Greg