pandas.core.groupby.DataFrameGroupBy.fillna
-
DataFrameGroupBy.fillna -
Заполнение пропущенных значений (NA/NaN) указанным методом.
Параметры: -
value : scalar, dict, Series, or DataFrame -
Значение для заполнения пропусков (например, 0), или словарь/Серия/DataFrame значений, определяющих значение для каждого индекса (для Series) или столбца (для DataFrame). Значения, отсутствующие в словаре/Серии/DataFrame, не будут заполнены. Это значение не может быть списком.
-
method : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default None -
Метод для заполнения пропусков в переиндексированной серии. pad / ffill: распространение последнего действительного значения вперёд к следующему действительному; backfill / bfill: использование следующего действительного значения для заполнения пробела.
-
axis : {0 or ‘index’, 1 or ‘columns’} -
Ось, по которой необходимо заполнить пропущенные значения.
-
inplace : bool, default False -
Если True, заполнение происходит на месте. Примечание: это изменит любые другие представления этого объекта (например, срез без копирования для столбца в DataFrame).
-
limit : int, default None -
Если метод указан, это максимальное количество последовательных значений NaN, которые нужно заполнить вперёд/назад. Другими словами, если есть пробел с более чем этим числом последовательных NaN, он будет заполнен только частично. Если метод не указан, это максимальное количество элементов по всей оси, где будут заполнены NaN. Должно быть больше 0, если не равно None.
-
downcast : dict, default is None -
Словарь вида элемент->тип данных, к которому можно привести значения, если это возможно, или строка ‘infer’, которая попытается привести к соответствующему типу (например, float64 к int64, если это возможно).
Возвращает: - DataFrame
-
Объект с заполненными пропущенными значениями.
См. также
-
interpolate - Заполнение пропущенных значений с помощью интерполяции.
-
reindex - Приведение объекта к новому индексу.
-
asfreq - Преобразование временного ряда к указанной частоте.
Примеры
>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0], ... [3, 4, np.nan, 1], ... [np.nan, np.nan, np.nan, 5], ... [np.nan, 3, np.nan, 4]], ... columns=list('ABCD')) >>> df A B C D 0 NaN 2.0 NaN 0 1 3.0 4.0 NaN 1 2 NaN NaN NaN 5 3 NaN 3.0 NaN 4Замена всех элементов NaN на 0.
>>> df.fillna(0) A B C D 0 0.0 2.0 0.0 0 1 3.0 4.0 0.0 1 2 0.0 0.0 0.0 5 3 0.0 3.0 0.0 4Также можно распространять ненулевые значения вперёд или назад.
>>> df.fillna(method='ffill') A B C D 0 NaN 2.0 NaN 0 1 3.0 4.0 NaN 1 2 3.0 4.0 NaN 5 3 3.0 3.0 NaN 4Замена всех элементов NaN в столбцах ‘A’, ‘B’, ‘C’ и ‘D’ соответственно на 0, 1, 2 и 3.
>>> values = {'A': 0, 'B': 1, 'C': 2, 'D': 3} >>> df.fillna(value=values) A B C D 0 0.0 2.0 2.0 0 1 3.0 4.0 2.0 1 2 0.0 1.0 2.0 5 3 0.0 3.0 2.0 4Замена только первого элемента NaN.
>>> df.fillna(value=values, limit=1) A B C D 0 0.0 2.0 2.0 0 1 3.0 4.0 NaN 1 2 NaN 1.0 NaN 5 3 NaN 3.0 NaN 4 -
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.25.0/reference/api/pandas.core.groupby.DataFrameGroupBy.fillna.html