Spec-Zone.ru › pandas 0.25

pandas.Series.fillna

Series.fillna(self, 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 : bool, default False

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

limit : int, default None

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

downcast : dict, default is None

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

Возвращаемое значение:
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

Мы также можем распространять ненулевые значения вперёд или назад.

>>> 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.Series.fillna.html

Spec-Zone.ru

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