Сколько вызовов функций, когда я использую pandas DataFrame groupby, а затем применяю пользовательскую функцию? - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть пандас DataFrame:

df = pd.DataFrame({'A':['a', 'a', 'a', 'a', 'a'], 'B':[1, 2, 3, 4, 5]})

и пользовательская функция:

def f(df):
    return df.max() - df.min()

Когда я запускаю следующий код:

df.groupby('A').apply(f)

Сколько раз будет вызвана функция f?Я проверил этот код и обнаружил, что f будет вызываться 4 раза, кто-нибудь может это объяснить?

1 Ответ

0 голосов
/ 30 сентября 2018

Он должен называться ngroup times, если у вас есть две группы в A, он будет вызываться дважды.Также вы можете использовать np.ptp

df.groupby('A').B.apply(np.ptp)
Out[52]: 
A
a    4
Name: B, dtype: int64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...