У меня есть метод под названием counting, который принимает 2 аргумента. Мне нужно вызвать этот метод, используя метод apply(). Однако, когда я передаю два параметра для метода применения он дает следующее сообщение об ошибке:Как передать несколько аргументов функции apply
TypeError: counting() takes exactly 2 arguments (1 given)
я видел следующую нить python pandas: apply a function with arguments to a series. Update, и я не хочу использовать functool.partial как я не хочу, чтобы импортировать дополнительные классы, чтобы иметь возможность передавать параметры.
def counting(dic, strWord):
if strWord in dic:
return dic[strWord]
else:
return 0
DF['new_column'] = DF['dic_column'].apply(counting, 'word')
Если я дам один параметр, он работает:
def awesome_count(dic):
if strWord in dic:
return dic[strWord]
else:
return 0
DF['new_column'] = DF['dic_column'].apply(counting)
Что такое 'dic' и откуда вы его ожидаете? Кроме того, в чем проблема с 'partial'? Это часть стандартной библиотеки ... – tzaman
Откуда вам был второй аргумент? –
Изменен вопрос для большей ясности. dic - это значение столбца, которое будет отображаться по умолчанию с помощью функции apply. Второй аргумент - это новый аргумент, который передается с использованием логики. – Bonson