Chciałbym użyć df.groupby()
w połączeniu z apply()
, aby zastosować funkcję do każdego wiersza na grupę.Użyj Pandy groupby() + apply() z argumentami
normalnie użyć następującego kodu, który zwykle działa (uwaga, że to jest bez groupby()
):
df.apply(myFunction, args=(arg1,))
Z groupby()
Próbowałem następujące:
df.groupby('columnName').apply(myFunction, args=(arg1,))
Jednak uzyskać następujący błąd:
TypeError: myFunction() got an unexpected keyword argument 'args'
Stąd moje pytanie to: Jak używać groupby()
i apply()
z funkcją, która wymaga argumentów?
To będzie pracować z 'df.groupby ('columnName') stosuje się (myFunction, ('arg1'))' – Zero
@Zero to jest świetne rozwiązanie, ponieważ jest bardzo podobny do próbowanego przez OP rozwiązania i nie wymaga lambda. Proponuję opublikować to jako odpowiedź. – DontDivideByZero
@ Zero, Mam takie samo quetsion jak OP, ale to nie działa dla mnie - nadal otrzymuję ten sam błąd co OP. Ponadto, czy mogę zapytać, dlaczego twój komentarz powinien zadziałać i dlaczego podejście PO (które jest takie samo jak moje), nie działa?Nie znalazłem go nigdzie udokumentowanego. –