ich mit dem folgenden Pandas Datenrahmen arbeite (von CSV-Datei):Pandas Dataframe: Wie gruppiert man nach Wert?
----------------------------------------------
buyer_id itemX itemY bid1 bid2
----------------------------------------------
buyer1 item1 item2 52 32
buyer2 item1 item2 15 17
.. ..
buyer500 item1 item2 82 13
Ich habe 500 Käufer für item1 bieten und item2, bieten die folgenden 200 Käufer für item3 und item4
buyer600 item3 item4 63 82
..
..
buyer800 item3 item4 40 12
I summiere Bid1 und bid2, damit ich nach maximalen Geboten suchen kann. Jetzt möchte ich die maximal 5 Gebote nur für jede Gruppe finden und behalten. group1 (item1 + item2) und group2 (item3 + item4). Wie kann ich es tun?
Hier ist mein Code so weit,
import pandas as pd
df = pd.read)csv('myfile.csv')
sum = (df[df.columns[4:]].sum(1))
df['sum'] = calc
df.sort_values(['sort of sum'], ascending=[False], inplace=True)
df.to_csv('results.csv')
Ausgabe etwas wie
-----------------------------------------
buyer itemX itemY sum of bid
-----------------------------------------
buyer13 item1 item2 350
buyer2 item1 item2 283
buyer65 item1 item2 236
buyer602 item3 item4 80
buyer703 item3 item4 76
buyer640 item3 item4 69