Spec-Zone.ru › pandas 0.24

pandas.Series.fillna

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

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

Параметры:
value : scalar, dict, Series, or DataFrame

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

method : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default None

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

axis : {0 or ‘index’}
inplace : boolean, default False

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

limit : int, default None

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

downcast : dict, default is None

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

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

См. также

interpolate
Заполнение значений NaN с помощью интерполяции.

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.24.2/reference/api/pandas.Series.fillna.html

Spec-Zone.ru

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