From e518fca1b141d0d8fbf4fbc17e13a663b8a268d3 Mon Sep 17 00:00:00 2001 From: Paneri Patel Date: Thu, 26 Jun 2025 18:35:15 -0400 Subject: [PATCH] Done Pandas4 --- NthHighestSalary.py | 16 ++++++++++++++++ SecondHighestSalary.py | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 NthHighestSalary.py create mode 100644 SecondHighestSalary.py diff --git a/NthHighestSalary.py b/NthHighestSalary.py new file mode 100644 index 0000000..10d1b99 --- /dev/null +++ b/NthHighestSalary.py @@ -0,0 +1,16 @@ +''' +Pandas4 + +1 Problem 1 : Nth Highest Salary (https://leetcode.com/problems/nth-highest-salary/solution/) +''' + +import pandas as pd + +def nth_highest_salary(employee: pd.DataFrame, N: int) -> pd.DataFrame: + employee = employee.drop_duplicates(subset = 'salary') + employee['rnk'] = employee['salary'].rank(method='dense', ascending=False) + ans = employee[employee.rnk==N][['salary']] + if not len(ans): + return pd.DataFrame({f'getNthHighestSalary({N})':[None]}) + ans = ans.rename(columns={'salary':f'getNthHighestSalary({N})'}) + return ans \ No newline at end of file diff --git a/SecondHighestSalary.py b/SecondHighestSalary.py new file mode 100644 index 0000000..0657680 --- /dev/null +++ b/SecondHighestSalary.py @@ -0,0 +1,16 @@ +''' +2 Problem 2 : Second Highest Salary ( https://leetcode.com/problems/second-highest-salary/ ) +''' + +import numpy as np +import pandas as pd + +def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame: + employee = employee.drop_duplicates(subset = 'salary') + if len(employee['salary'].unique())<2: + return pd.DataFrame({'SecondHighestSalary':[np.NaN]}) + + employee['rnk'] = employee['salary'].rank(method='dense', ascending=False) + ans = employee[employee.rnk==2][['salary']] + ans = ans.rename(columns={'salary':'SecondHighestSalary'}) + return ans \ No newline at end of file