Я хотел бы определить пользовательские функции с сигнатурами, включающими один или несколько столбцов информационного кадра.
Я пытался воспроизвести решение, упомянутое в статье «Как использовать функцию« Применение »Pandas для нескольких столбцов?», Но мне не удается понять, как нужно настроить функцию для приема данных от другихстолбцы в качестве входных данных.
Пример моего кода:
import pandas as pd
df=pd.DataFrame({'NAME':['A','B','C','D'],'HOURS':[38, 52, 1040, 28],'ROLE':['Manager','Expert','Expert','Expert']})
def apply_rate(col1='HOURS', col2='ROLE'):
if row[col2]=='Manager': return row[col1]*165
else: return row[col1]*135
df['TOTAL']=df.apply(lambda row: apply_rate(row['HOURS'],row['ROLE']),axis=1)
Я получаю сообщение "KeyError: ('Manager', 'произошло с индексом 0')", но я застрял на этом этапе,и я не знаю, как выбраться из этой точки блокировки.