diff --git a/Problem1_DeptHighSalary.py b/Problem1_DeptHighSalary.py new file mode 100644 index 0000000..2903b3b --- /dev/null +++ b/Problem1_DeptHighSalary.py @@ -0,0 +1,14 @@ +import pandas as pd + +#Soln 1 : Using MAX +def department_highest_salary(employee: pd.DataFrame, department: pd.DataFrame) -> pd.DataFrame: + maxsalary=employee.groupby('departmentId')['salary'].transform(max) + employee=employee[employee['salary']==maxsalary] # type: ignore + df=employee.merge(department,left_on='departmentId',right_on='id',how='left') + return df[['name_y','name_x','salary']].rename(columns={'name_y':'Department','name_x':'Employee','salary':'Salary'}) # type: ignore + +#SOLN2: Using Rank + df=employee.merge(department,left_on='departmentId',right_on='id',how='left') + df['rank']=df.groupby('departmentId')['salary'].rank(method='dense',ascending=False) + df=df[df['rank']==1] + return df[['name_y','name_x','salary']].rename(columns={'name_y':'Department','name_x':'Employee','salary':'Salary'}) \ No newline at end of file diff --git a/Problem2_RankScores.py b/Problem2_RankScores.py new file mode 100644 index 0000000..348151c --- /dev/null +++ b/Problem2_RankScores.py @@ -0,0 +1,5 @@ +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='score',ascending=False) # type: ignore \ No newline at end of file