Если я вычисляю среднее значение для группового объекта и внутри одной из групп есть NaN, NaN игнорируются. Даже при применении np.mean он по-прежнему возвращает только среднее значение всех действительных чисел. Я ожидаю, что поведение NaN будет возвращаться, как только один NaN окажется в группе. Вот упрощенный пример поведения
import pandas as pd
import numpy as np
c = pd.DataFrame({'a':[1,np.nan,2,3],'b':[1,2,1,2]})
c.groupby('b').mean()
a
b
1 1.5
2 3.0
c.groupby('b').agg(np.mean)
a
b
1 1.5
2 3.0
Я хочу получить следующий результат:
a
b
1 1.5
2 NaN
Мне известно, что я могу заранее заменить NaN и что я, вероятно, могу написать свою собственную функцию агрегирования, которая будет возвращать NaN, как только NaN окажется в группе. Эта функция не будет оптимизирована, хотя.
Вам известен аргумент для достижения желаемого поведения с оптимизированными функциями?
Кстати, я думаю, что желаемое поведение было реализовано в предыдущей версии панд.