Spec-Zone.ru › pandas 0.23

pandas.Series.fillna

Series.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs) [source]

Заполнение пропущенных значений (NaN) указанным методом

Параметры:

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

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

метод : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, по умолчанию None

Метод для заполнения пропусков в переиндексированном Series pad / ffill: распространять последнее действительное наблюдение вперёд к следующему действительному backfill / bfill: использовать следующее действительное наблюдение для заполнения разрыва

axis : {0 or ‘index’}

inplace : boolean, по умолчанию False

Если True, заполнить на месте. Примечание: это изменит любые другие представления этого объекта (например, срез без копирования для столбца в DataFrame).

limit : int, по умолчанию None

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

downcast : словарь, по умолчанию None

словарь item->тип данных для приведения к меньшему типу, если это возможно, или строка ‘infer’, которая будет пытаться привести к подходящему типу (например, float64 к int64, если возможно)

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

См. также

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

Мы также можем распространять значения, отличные от 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.23.4/generated/pandas.Series.fillna.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API