From 9e82888943c1a9a136d41b7fd9afe8c82a100636 Mon Sep 17 00:00:00 2001 From: tejas274 Date: Wed, 11 Jun 2025 22:44:29 -0500 Subject: [PATCH] problem 1 and 2 added --- problem1-184-department-highest-salary.py | 24 +++++++++++++++++++++++ problem2-178-rank-scores.py | 7 +++++++ 2 files changed, 31 insertions(+) create mode 100644 problem1-184-department-highest-salary.py create mode 100644 problem2-178-rank-scores.py diff --git a/problem1-184-department-highest-salary.py b/problem1-184-department-highest-salary.py new file mode 100644 index 0000000..00219fe --- /dev/null +++ b/problem1-184-department-highest-salary.py @@ -0,0 +1,24 @@ +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'}) + +#second solution +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') + + df['dense_rank'] = df.groupby('departmentId')['salary'].rank(method='dense', ascending=False) + + df = df[df['dense_rank'] == 1] + + return df[['name_y', 'name_x', 'salary']].rename(columns={'name_y': 'Department', 'name_x': 'Employee'}) \ No newline at end of file diff --git a/problem2-178-rank-scores.py b/problem2-178-rank-scores.py new file mode 100644 index 0000000..44bce4c --- /dev/null +++ b/problem2-178-rank-scores.py @@ -0,0 +1,7 @@ +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']) \ No newline at end of file