Код: Выделить всё
+-------------+------+
| Column Name | Type |
+-------------+------+
| id | int |
| salary | int |
+-------------+------+
Каждая строка этой таблицы содержит информацию о зарплате сотрудника.
Напишите решение, позволяющее найти вторую по величине зарплату из таблицы «Сотрудники». Если второй по величине зарплаты нет, верните ноль (в Pandas верните None).
Формат результата показан в следующем примере.
Пример 1:
Ввод:
Таблица сотрудников:
Код: Выделить всё
+----+--------+
| id | salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
Код: Выделить всё
+---------------------+
| SecondHighestSalary |
+---------------------+
| 200 |
+---------------------+
Ввод:
Таблица сотрудников:
Код: Выделить всё
+----+--------+
| id | salary |
+----+--------+
| 1 | 100 |
+----+--------+
Код: Выделить всё
+---------------------+
| SecondHighestSalary |
+---------------------+
| null |
+---------------------+
Код: Выделить всё
import pandas as pd
def second_highest_salary(employee: pd.DataFrame) -> pd.DataFrame:
employee.salary = employee.salary.drop_duplicates().reset_index(drop = True)
employee = employee.sort_values(by = 'salary',ascending = False)
if employee.shape[0] < 2:
return pd.DataFrame(data = {'SecondHighestSalary':[None]})
else:
return pd.DataFrame(data = {'SecondHighestSalary':[employee.salary.iloc[[1]]]})
Код: Выделить всё
| id | salary |
| -- | ------ |
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
Код: Выделить всё
| SecondHighestSalary |
| ------------------- |
| 200 |
Код: Выделить всё
| SecondHighestSalary |
| ------------------- |
| 200 |
Пожалуйста, помогите мне понять ошибку.
Подробнее здесь: https://stackoverflow.com/questions/790 ... est-salary