Панды применяют функцию, когда база данных является вторым позиционным аргументом - PullRequest
2 голосов
/ 24 октября 2019

Допустим, у меня есть функция

def fun(x, y):
    return(y.sum() + x)

Эта функция принимает значение для добавления x и базу данных / серию для суммирования y

Если у меня есть база данных df , к которой я хотел бы применить свою функцию. Однако предполагается, что база данных является вторым позиционным аргументом, а не первым.

df.apply(fun, x = 10)

возвращает ошибку "(" fun () получил несколько значений для аргумента 'x' ", 'произошелс индексом 0 ')

Как использовать функцию apply, чтобы база данных была вторым позиционным аргументом?

1 Ответ

1 голос
/ 24 октября 2019

Если вам не разрешено изменять функцию fun, вам потребуется дополнительная лямбда внутри apply следующим образом:

df.apply(lambda col: fun(10, col))
...