I've a dataframe
a | b | c |
---|---|---|
one | 6 | 11 |
one | 7 | 12 |
two | 8 | 23 |
two | 9 | 14 |
three | 10 | 15 |
three | 20 | 25 |
I want to apply groupby at column a
and then find the highest value in column c
, so that, the highest value gets flagged, i.e.
a | b | c |
---|---|---|
one | 6 | 11 |
one | 7 | 12 |
Compare value 11&12, then
a | b | c |
---|---|---|
two | 8 | 23 |
two | 9 | 14 |
Compare value 23&14, then
a | b | c |
---|---|---|
three | 10 | 15 |
three | 20 | 25 |
Finally resulting in:
a | b | c | flag |
---|---|---|---|
one | 6 | 11 | no |
one | 7 | 12 | yes |
two | 8 | 23 | yes |
two | 9 | 14 | no |
three | 10 | 15 | no |
three | 20 | 25 | yes |
I/P DF:
df = pd.DataFrame({
'a':["one","one","two","two","three","three"]
, 'b':[6,7,8,9,10,20]
, 'c':[11,12,23,14,15,25]
# , 'flag': ['no', 'yes', 'yes', 'no', 'no', 'yes']
})
df