pandas.core.groupby.SeriesGroupBy.fillna#

SeriesGroupBy.fillna(value=None, method=None, axis=, inplace=False, limit=None, downcast=)[источник]#

Заполнить значения NA/NaN с использованием указанного метода внутри групп.

Устарело с версии 2.2.0: Этот метод устарел и будет удалён в будущей версии. Используйте SeriesGroupBy.ffill() или SeriesGroupBy.bfill() для заполнения вперёд или назад. Если вы хотите заполнить одним значением, используйте Series.fillna() вместо этого.

Параметры:
значениескаляр, словарь, Series или DataFrame

Значение для заполнения пропусков (например, 0), альтернативно словарь/Series/DataFrame значений, указывающих, какое значение использовать для каждого индекса (для Series) или столбца (для DataFrame). Значения, не находящиеся в словаре/Series/DataFrame, не будут заполнены. Это значение не может быть списком. Пользователи, желающие использовать value аргумент, а не method следует предпочитать Series.fillna() так как это даст тот же результат и будет более производительным.

метод{{'bfill', 'ffill', None}}, по умолчанию None

Метод для заполнения пропусков. 'ffill' будет распространять последнее допустимое наблюдение вперёд внутри группы. 'bfill' будет использовать следующее допустимое наблюдение для заполнения пробела.

ось{0 или ‘index’, 1 или ‘columns’}

Не используется, только для совместимости с DataFrameGroupBy.fillna().

inplacebool, по умолчанию False

Сломан. Не устанавливайте в True.

limitint, по умолчанию None

Если указан метод, это максимальное количество последовательных значений NaN для заполнения вперед/назад внутри группы. Другими словами, если есть промежуток с более чем этим количеством последовательных NaN, он будет заполнен только частично. Если метод не указан, это максимальное количество записей вдоль всей оси, где NaN будут заполнены. Должно быть больше 0, если не None.

downcastdict, по умолчанию None

Словарь элемент->тип данных для понижения типа, если возможно, или строка 'infer', которая попытается понизить тип до соответствующего равного типа (например, float64 до int64, если возможно).

Возвращает:
Series

Объект с заполненными пропущенными значениями внутри групп.

Смотрите также

ffill

Прямое заполнение значений внутри группы.

bfill

Обратное заполнение значений внутри группы.

Примеры

Для SeriesGroupBy:

>>> lst = ['cat', 'cat', 'cat', 'mouse', 'mouse']
>>> ser = pd.Series([1, None, None, 2, None], index=lst)
>>> ser
cat    1.0
cat    NaN
cat    NaN
mouse  2.0
mouse  NaN
dtype: float64
>>> ser.groupby(level=0).fillna(0, limit=1)
cat    1.0
cat    0.0
cat    NaN
mouse  2.0
mouse  0.0
dtype: float64