Spec-Zone.ru › pandas 1

pandas.Series.fillna

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

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

Параметры
value:скаляр, словарь, Series или DataFrame

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

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

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

axis:{0 или ‘index’}

Ось, вдоль которой заполняются пропущенные значения. Для Series этот параметр не используется и по умолчанию равен 0.

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

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

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

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

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

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

Возвращает
Series или None

Объект с заполненными пропущенными значениями или None, если inplace=True.

См. также

interpolate

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

reindex

Согласование объекта с новым индексом.

asfreq

Преобразование временного ряда к заданной частоте.

Примеры

>>> df = pd.DataFrame([[np.nan, 2, np.nan, 0],
...                    [3, 4, np.nan, 1],
...                    [np.nan, np.nan, np.nan, np.nan],
...                    [np.nan, 3, np.nan, 4]],
...                   columns=list("ABCD"))
>>> df
     A    B   C    D
0  NaN  2.0 NaN  0.0
1  3.0  4.0 NaN  1.0
2  NaN  NaN NaN  NaN
3  NaN  3.0 NaN  4.0

Замена всех элементов NaN на 0.

>>> df.fillna(0)
     A    B    C    D
0  0.0  2.0  0.0  0.0
1  3.0  4.0  0.0  1.0
2  0.0  0.0  0.0  0.0
3  0.0  3.0  0.0  4.0

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

>>> df.fillna(method="ffill")
     A    B   C    D
0  NaN  2.0 NaN  0.0
1  3.0  4.0 NaN  1.0
2  3.0  4.0 NaN  1.0
3  3.0  3.0 NaN  4.0

Замена всех элементов 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.0
1  3.0  4.0  2.0  1.0
2  0.0  1.0  2.0  3.0
3  0.0  3.0  2.0  4.0

Замена только первого элемента NaN.

>>> df.fillna(value=values, limit=1)
     A    B    C    D
0  0.0  2.0  2.0  0.0
1  3.0  4.0  NaN  1.0
2  NaN  1.0  NaN  3.0
3  NaN  3.0  NaN  4.0

При заполнении с помощью DataFrame, замена происходит по тем же именам столбцов и тем же индексам

>>> df2 = pd.DataFrame(np.zeros((4, 4)), columns=list("ABCE"))
>>> df.fillna(df2)
     A    B    C    D
0  0.0  2.0  0.0  0.0
1  3.0  4.0  0.0  1.0
2  0.0  0.0  0.0  NaN
3  0.0  3.0  0.0  4.0

Обратите внимание, что столбец D не затронут, так как он отсутствует в df2.

© 2008–2022, 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/1.5.0/reference/api/pandas.Series.fillna.html

Spec-Zone.ru

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