Segundo Salario más Alto
Tabla: Employee
+-------------+------+ | Column Name | Type | +-------------+------+ | id | int | | salary | int | +-------------+------+ - "id" es la clave primaria para esta tabla. - Cada fila contiene información sobre el salario de un empleado.
Escribe una solución para encontrar el segundo salario distinto más alto de la tabla Employee. Si no hay un segundo salario más alto, devuelve null (Devuelve None en Pandas).
Ejemplos
Ejemplo 1
Input:
Employee table: +----+--------+ | id | salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+
Output:
+---------------------+ | SecondHighestSalary | +---------------------+ | 200 | +---------------------+
Ejemplo 2:
Input:
Employee table: +----+--------+ | id | salary | +----+--------+ | 1 | 100 | +----+--------+
Output:
+---------------------+ | SecondHighestSalary | +---------------------+ | null | +---------------------+
Soluciones
import pandas as pd
def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame:
unique_salaries = employee['salary'].drop_duplicates().sort_values(ascending=False)
if len(unique_salaries) >= 2:
second_highest = unique_salaries.iloc[1]
else:
second_highest = None
return pd.DataFrame({'SecondHighestSalary': [second_highest]})