DataFrameGroupBy.groupby () не может видеть * аргументы после параметра dropna в python2.7 - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь отфильтровать объект DataFrameGroupBy с помощью закрытой функции, которая принимает два параметра, DataFrame и год. Фактический код длинный, поэтому я написал псевдокод, который показывает проблему:

import pandas as pd

data = pd.read_csv("path", index_col = index)

def _function(df, year):
    print(year)

data_grouped = data.groupby(index)
data_filters = data_grouped.filter(_function, year)

Я получаю ошибку:

TypeError: _function() takes exactly 2 arguments (1 given)

Отладка показывает, что он передает параметр args в качестве ключевого аргумента dropna, если я добавлю dropna так, что:

data_filtered = data_grouped.filter(_function, dropna=True, year)

Я получаю:

SyntaxError: non-keyword arg after keyword arg

Если я поставлю это после:

data_filtered = data_grouped.filter(_function, year, dropna=True)

Я получаю:

TypeError: filter() got multiple values for keyword argument 'dropna'

Как я должен делать это правильно?

...