题目要求:计算员工的bonus,当员工的id是奇数且员工的名字不是‘M’开头时,bonus是工资的100%,反之则是0,这里选择用lambda函数来完成。注意要将id按照大小排序。
Python:
import pandas as pd
import numpy as np
def calculate_special_bonus(employees: pd.DataFrame) -> pd.DataFrame:
employees['bonus'] = employees.apply(lambda x: x['salary'] if x['employee_id'] % 2 and not x['name'].startswith('M') else 0, axis = 1)
res = employees.loc[:, ["employee_id", "bonus"]].sort_values('employee_id')
return res