Я пытаюсь применить пользовательскую функцию, которая принимает два аргумента для определенных двух столбцов группы по фрейму данных.
Я пытался использовать dataframe apply и groupby, но любые предложения приветствуются.
У меня есть следующий dataframe:
id y z
115 10 820
115 12 960
115 13 1100
144 25 2500
144 55 5500
144 65 960
144 68 6200
144 25 2550
146 25 2487
146 25 2847
146 25 2569
146 25 2600
146 25 2382
И я хотел бы применить пользовательскую функциюс двумя аргументами и получить результат по id.
def train_logmodel(x, y):
##.........
return x
data.groupby('id')[['y','z']].apply(train_logmodel)
TypeError: train_logmodel() missing 1 required positional argument: 'y'
Я хотел бы знать, как передать 'y' и 'z', чтобы оценить желаемый столбец 'x' по каждому идентификатору.
Пример ожидаемого вывода:
id x
115 0.23
144 0.45
146 0.58
Это немного отличается от вопроса: Как применить функцию к двум столбцам кадра данных Pandas
В этом случае мы имеем дело с групповым фреймом данных, который работает немного иначе, чем фрейм данных.
Заранее спасибо!