pandas.Panel.fillna
-
Panel.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs)[source] -
Заполнение пропущенных значений (NaN) указанным методом
Параметры: value : скаляр, словарь, Series или DataFrame
Значение для заполнения пропусков (например, 0), или словарь/Series/DataFrame, определяющий значение для каждого индекса (для Series) или столбца (для DataFrame). (значения, не указанные в словаре/Series/DataFrame, не будут заполнены). Это значение не может быть списком.
method : {‘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
Примеры
>>> 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.22.0/generated/pandas.Panel.fillna.html