Spec-Zone.ru › pandas 0.23

pandas.Panel.fillna

Panel.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: использование следующего допустимого наблюдения для заполнения пробела

axis : {0, 1, 2, ‘items’, ‘major_axis’, ‘minor_axis’}

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

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

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

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

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

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

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

См. также

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

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

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

Spec-Zone.ru

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