I have a dataframe that looks like this. There are two rows for each id. These represent a game where the row with the highest points is the winner:
id points
677 5
677 15
678 25
678 6
I would like to generate a new column 'win' in the dataframe so that the row with the same id with the higher points gets the value 1 and the lesser 0.
Like this:
id points win
677 5 0
677 15 1
678 25 1
678 6 0
I think I could do something like this, but can't figure out how you would get the diff to output a value based on the condition of greater or less and then push to a new column.
print(df.set_index('id').groupby(level=0).diff().query('points' > 0).index.unique().tolist())