diff --git a/problem1 b/problem1 new file mode 100644 index 0000000..7aaaf5f --- /dev/null +++ b/problem1 @@ -0,0 +1,11 @@ +import pandas as pd + +def nth_highest_salary(employee: pd.DataFrame, N: int) -> pd.DataFrame: + employee = employee.drop_duplicates('salary') + employee['rank'] = employee['salary'].rank(method='dense', ascending=False) + result = employee[employee['rank'] == N][['salary']] + + if result.empty: + return pd.DataFrame({f'getNthHighestSalary({N})': [None]}) + else: + return pd.DataFrame({f'getNthHighestSalary({N})': [result.iloc[0]['salary']]}) diff --git a/problem2 b/problem2 new file mode 100644 index 0000000..d37bb78 --- /dev/null +++ b/problem2 @@ -0,0 +1,12 @@ +import pandas as pd + +def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame: + secondSalary = employee.drop_duplicates('salary') + secondSalary['rank'] = secondSalary['salary'].rank(method='dense', ascending=False) + if len(secondSalary) >=2: + result = secondSalary[secondSalary['rank'] == 2][['salary']] + + else: + result = pd.DataFrame({'SecondHighestSalary': [None]}) + return result.rename(columns={'salary': 'SecondHighestSalary'}) +