I want to replicate the following SAS code in Python.
proc rank data=a out=b ties=low;
by id code date;
var key_id;
ranks rank;
run;
I would do something like this:
a = pd.DataFrame({'id': [0,1,1,2,2],
'code': ['a','b','b','c','c'],
'date':[-5,-4,-4,-2,-2],
'key_id':[0.05,3,5,0.001,-1]})
b =a.groupby(['id', 'code', 'date'])['key_id'].rank(ascending=True)
a['rank'] = b
a
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With