Rank pay within each team

Data framesMedium11 min

Your task

Given staff with columns name, team, salary, hired and manager, rank each person by salary within their team, highest first, using dense ranking so ties share a rank. Return name, team and rank as an integer, sorted by team ascending and then rank ascending and then name ascending.

Examples

pay_rank(staff: dataframe) -> dataframe
Example 1
Inputpay_rank(staff)
staff
nameteamsalaryhiredmanager
Adaeng1202021-03-01Grace
Graceeng1502019-06-15NULL
Linuseng952022-01-10Grace
Melsales802020-11-05Kay
Kaysales1102018-02-20NULL
Ivansales802023-07-01Kay
Jeandesign1052021-09-30NULL
Niadesign1402022-05-04Jean
More rows not shown
Output
nameteamrank
Niadesign1
Jeandesign2
Graceeng1
Adaeng2
Linuseng3
Omarsales1
Kaysales2
Ivansales3
More rows not shown