This problem may be trivial one. I have a dataframe df
as follows
DealerID ZMONTH ZREGION Cust_Cat ZBAS_QTY ZBAS_VAL
1001 201905 ABC M 200 750
1001 201906 ABC N 300 480
1001 201907 NOP P 800 1156
1002 201905 PQR M 350 525
1002 201906 PST M 480 690
1002 201907 SNP P 200 780
I want to apply df.groupby()
so that for each DealerID
I get the row that has max()
ZBAS_VAL. In other words, the resultant dataframe should look like
DealerID ZMONTH ZREGION Cust_Cat ZBAS_QTY ZBAS_VAL
1001 201907 NOP P 800 1156
1002 201907 SNP P 200 780
My Approach so far:
df = df.groupby(['DealerID'])['ZBAS_VAL'].max().reset_index()
However, such approach is returning only ZBAS_VAL
and DealerID
columns. What I want is all other remaining column.
Any clue?