Spec-Zone.ru › pandas 0.22

pandas.Series.fillna

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

Заполнение значений NaN/NA указанным методом

Параметры:

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

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

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

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

ось : {0, ‘индекс’}

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

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

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

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

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

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

Возвращает:

заполненные : Series

См. также

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.22.0/generated/pandas.Series.fillna.html

Spec-Zone.ru

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