From 068549ae0cd62aa4c637885c8a2277adcfc1cebb Mon Sep 17 00:00:00 2001 From: SAI NIHITH IMMANENI Date: Sun, 16 Mar 2025 23:32:36 -0500 Subject: [PATCH] Done PR --- Nth Highest Salary.py | 22 ++++++++++++++++++++++ Second Highest Salary.py | 14 ++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 Nth Highest Salary.py create mode 100644 Second Highest Salary.py diff --git a/Nth Highest Salary.py b/Nth Highest Salary.py new file mode 100644 index 0000000..9cc9433 --- /dev/null +++ b/Nth Highest Salary.py @@ -0,0 +1,22 @@ +import pandas as pd + +def nth_highest_salary(employee: pd.DataFrame, N: int) -> pd.DataFrame: + # result_set = set() + # for i in range(len(employee)): + # result_set.add(employee['salary'][i]) + + # result = [] + # for num in result_set: + # result.append(num) + # result.sort(reverse= True) + + # if N > len(result) or N<=0: + # return pd.DataFrame({f'getNthHighestSalary({N})' : [None]} ) + + # return pd.DataFrame({f'getNthHighestSalary({N})' : [result[N-1]]}) + df = employee[['salary']].drop_duplicates() + if N > len(df) or N <= 0: + return pd.DataFrame({f'getNthHighestSalary({N})' : [None]} ) + + return df.sort_values('salary', ascending = False).head(N).tail(1).rename(columns = + {'salary' : f'getNthHighestSalary({N})' }) diff --git a/Second Highest Salary.py b/Second Highest Salary.py new file mode 100644 index 0000000..4d50df9 --- /dev/null +++ b/Second Highest Salary.py @@ -0,0 +1,14 @@ +import pandas as pd + +def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame: + + employee = employee.drop_duplicates(['salary']) + + if len(employee) < 2: + return pd.DataFrame([None], columns=['SecondHighestSalary']) + + employee.sort_values(by=['salary'], inplace=True, ascending=False) + employee = employee[['salary']] + + return employee.head(2).tail(1).rename(columns={'salary': 'SecondHighestSalary'}) + \ No newline at end of file