diff --git a/problem1 b/problem1 new file mode 100644 index 0000000..d2f534c --- /dev/null +++ b/problem1 @@ -0,0 +1,7 @@ +import pandas as pd + +def calculate_special_bonus(employees: pd.DataFrame) -> pd.DataFrame: + employees['bonus'] = employees['salary'].where( + (~employees['name'].str.startswith('M')) & (employees['employee_id'] %2 ==1), 0 + ) + return employees[['employee_id','bonus']].sort_values('employee_id') diff --git a/problem2 b/problem2 new file mode 100644 index 0000000..b84b2af --- /dev/null +++ b/problem2 @@ -0,0 +1,5 @@ +import pandas as pd + +def fix_names(users: pd.DataFrame) -> pd.DataFrame: + users['name'] = users['name'].str.capitalize() + return users[['user_id','name']].sort_values('user_id') diff --git a/problem3 b/problem3 new file mode 100644 index 0000000..0cadfa4 --- /dev/null +++ b/problem3 @@ -0,0 +1,6 @@ +import pandas as pd + +def find_patients(patients: pd.DataFrame) -> pd.DataFrame: + mask = (patients['conditions'].str.startswith('DIAB1', na=False) | + patients['conditions'].str.contains(' DIAB1', na=False)) + return patients[mask][['patient_id', 'patient_name', 'conditions']]