Mam metodę o nazwie counting, która pobiera 2 argumenty. Muszę wywołać tę metodę za pomocą metody apply(). Jednak kiedy jestem przekazując dwa parametry do metody stosuje się go daje następujący błąd:Jak przekazywać wiele argumentów do funkcji apply
TypeError: counting() takes exactly 2 arguments (1 given)
widziałem wątku python pandas: apply a function with arguments to a series. Update i nie chcę używać functool.partial jak nie chcesz importować dodatkowe klasy, aby móc przekazywać parametry.
def counting(dic, strWord):
if strWord in dic:
return dic[strWord]
else:
return 0
DF['new_column'] = DF['dic_column'].apply(counting, 'word')
Jeśli dam jeden parametr, to działa:
def awesome_count(dic):
if strWord in dic:
return dic[strWord]
else:
return 0
DF['new_column'] = DF['dic_column'].apply(counting)
Co to jest "dic" i skąd się tego bierze? Jaki jest twój problem z "częściowym"? To część standardowej biblioteki ... – tzaman
Skąd chcesz, żeby powstał drugi argument? –
Zmodyfikowano pytanie, aby uzyskać większą jasność. dic jest wartością kolumny, która pojawiałaby się domyślnie za pomocą funkcji apply. Drugi argument to nowy argument przekazywany za pomocą logiki. – Bonson