Spec-Zone.ru › pandas 0.21

pandas.Panel.fillna

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

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

Параметры:

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

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

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

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

ось : {0, 1, 2, ‘items’, ‘major_axis’, ‘minor_axis’}

inplace : булево значение, по умолчанию False

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

предел : целое число, по умолчанию None

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

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

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

Возвращаемое значение:

заполненное : Panel

См. также

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.21.1/generated/pandas.Panel.fillna.html

Spec-Zone.ru

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