pandas.core.groupby.DataFrameGroupBy.fillna
-
DataFrameGroupBy.fillna -
Заполнение пропущенных значений (NA/NaN) указанным методом
Параметры: значение : скаляр, словарь, Series или DataFrame
Значение для заполнения пропусков (например, 0), или словарь/Series/DataFrame, определяющий значение для каждого индекса (для Series) или столбца (для DataFrame). Значения, отсутствующие в словаре/Series/DataFrame, не будут заполнены. Это значение не может быть списком.
метод : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, по умолчанию None
Метод для заполнения пропусков в переиндексированном Series pad / ffill: распространение последнего действительного наблюдения вперёд к следующему действительному backfill / bfill: использование следующего действительного наблюдения для заполнения пробела
ось : {0 или ‘индекс’, 1 или ‘столбцы’}
inplace : boolean, по умолчанию False
Если True, заполнение происходит на месте. Примечание: это изменит любые другие представления этого объекта (например, срез без копирования для столбца в DataFrame).
предел : int, по умолчанию None
Если метод указан, это максимальное количество последовательных пропущенных значений для вперёд/назад заполнения. Другими словами, если есть разрыв с более чем этим числом последовательных пропущенных значений, он будет заполнен только частично. Если метод не указан, это максимальное количество записей по всей оси, где будут заполнены пропуски. Должно быть больше 0, если не равно None.
downcast : словарь, по умолчанию None
словарь item->dtype для приведения к меньшему типу, если возможно, или строка ‘infer’, которая попытается привести к подходящему типу (например, float64 к int64, если возможно)
Возвращает: заполненные : DataFrame
См. также
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Мы также можем распространять значения, отличные от NULL, вперёд или назад.
>>> 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.21.1/generated/pandas.core.groupby.DataFrameGroupBy.fillna.html