From 4dfc33552c79ed41a02bf7bd4c8486d1bfa95aa0 Mon Sep 17 00:00:00 2001 From: Dhruv Parashar Date: Wed, 11 Jun 2025 10:26:20 -0400 Subject: [PATCH] Done Pandas4 --- Nth Highest Salary | 9 +++++++++ Second Highest Salary | 9 +++++++++ 2 files changed, 18 insertions(+) create mode 100644 Nth Highest Salary create mode 100644 Second Highest Salary diff --git a/Nth Highest Salary b/Nth Highest Salary new file mode 100644 index 0000000..3a2ce71 --- /dev/null +++ b/Nth Highest Salary @@ -0,0 +1,9 @@ +import pandas as pd + +def nth_highest_salary(employee: pd.DataFrame, N: int) -> pd.DataFrame: + + 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)[['salary']].rename(columns = {'salary': f'getNthHighestSalary({N})'}) \ No newline at end of file diff --git a/Second Highest Salary b/Second Highest Salary new file mode 100644 index 0000000..01ef62c --- /dev/null +++ b/Second Highest Salary @@ -0,0 +1,9 @@ +import pandas as pd + +def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame: + + df = employee[['salary']].drop_duplicates().sort_values(by = ['salary'], ascending=False) + if len(df) < 2: + return pd.DataFrame({'SecondHighestSalary': [None]}) + else: + return df.head(2).tail(1)[['salary']].rename(columns = {'salary' : 'SecondHighestSalary'}) \ No newline at end of file