Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions 137_department_highest_salary.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Perform inner join on Employee and Department tables. Get the max salary and return only the rows that
# have max salary.

import pandas as pd

def department_highest_salary(employee: pd.DataFrame, department: pd.DataFrame) -> pd.DataFrame:
df = employee.merge(department, left_on='departmentId', right_on='id', how='inner')
max_salary = df.groupby('departmentId')['salary'].transform('max')
df = df[df['salary'] == max_salary]
return (df[['name_y', 'name_x', 'salary']]
.rename(columns= {'name_y': 'Department', 'name_x': 'Employee', 'salary': 'Salary'}))
8 changes: 8 additions & 0 deletions 138_rank_scores.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Perform Dense Rank on the scores (descending order) and return two columns (scores and rank) in sorted
# ascending order of rank.

import pandas as pd

def order_scores(scores: pd.DataFrame) -> pd.DataFrame:
scores['rank'] = scores['score'].rank(method='dense', ascending=False)
return scores[['score', 'rank']].sort_values(by=['rank'])