Агрегация панд, игнорирующая NaN

Я объединяю мой фрейм данных Pandas:data, Конкретно хочу получить среднюю и суммуamountс помощью кортежей [origin а такжеtype]. Для усреднения и суммирования я попробовал следующие функции:

import numpy as np
import pandas as pd
result = data.groupby(groupbyvars).agg({'amount': [ pd.Series.sum, pd.Series.mean]}).reset_index() 

Моя проблема в том, чтоamount колонка включает в себяNaNс, что вызываетresult из приведенного выше кода, чтобы иметь многоNaN средние и суммы.

Я знаю какpd.Series.sum а такжеpd.Series.mean иметьskipna=True по умолчанию, так почему я все еще получаюNaNздесь?

Я также попробовал это, что, очевидно, не сработало:

data.groupby(groupbyvars).agg({'amount': [ pd.Series.sum(skipna=True), pd.Series.mean(skipna=True)]}).reset_index() 

РЕДАКТИРОВАТЬ: По предложению @ Korem я также попытался использоватьpartial как показано ниже:

s_na_mean = partial(pd.Series.mean, skipna = True)    
data.groupby(groupbyvars).agg({'amount': [ np.nansum, s_na_mean ]}).reset_index() 

но получите эту ошибку:

error: 'functools.partial' object has no attribute '__name__'

Ответы на вопрос(1)

Ваш ответ на вопрос