pandas.core.groupby.DataFrameGroupBy.ffill
- DataFrameGroupBy.ffill(limit=None)[source]
-
Заполнение пропущенных значений вперёд.
- Параметры:
-
- limit:int, необязательно
-
Предел заполнения пропущенных значений.
- Возвращает:
-
- Series или DataFrame
-
Объект с заполненными пропущенными значениями.
См. также
Series.ffill-
Возвращает Series с минимальным количеством символов в объекте.
DataFrame.ffill-
Объект с заполненными пропущенными значениями или None, если inplace=True.
Series.fillna-
Заполнение пропущенных значений в Series.
DataFrame.fillna-
Заполнение пропущенных значений в DataFrame.
Примеры
Для SeriesGroupBy:
>>> key = [0, 0, 1, 1] >>> ser = pd.Series([np.nan, 2, 3, np.nan], index=key) >>> ser 0 NaN 0 2.0 1 3.0 1 NaN dtype: float64 >>> ser.groupby(level=0).ffill() 0 NaN 0 2.0 1 3.0 1 3.0 dtype: float64
Для DataFrameGroupBy:
>>> df = pd.DataFrame( ... { ... "key": [0, 0, 1, 1, 1], ... "A": [np.nan, 2, np.nan, 3, np.nan], ... "B": [2, 3, np.nan, np.nan, np.nan], ... "C": [np.nan, np.nan, 2, np.nan, np.nan], ... } ... ) >>> df key A B C 0 0 NaN 2.0 NaN 1 0 2.0 3.0 NaN 2 1 NaN NaN 2.0 3 1 3.0 NaN NaN 4 1 NaN NaN NaNРаспространение значений без пропусков вперёд или назад внутри каждой группы по столбцам.
>>> df.groupby("key").ffill() A B C 0 NaN 2.0 NaN 1 2.0 3.0 NaN 2 NaN NaN 2.0 3 3.0 NaN 2.0 4 3.0 NaN 2.0Распространение значений без пропусков вперёд или назад внутри каждой группы по строкам.
>>> df.T.groupby(np.array([0, 0, 1, 1])).ffill().T key A B C 0 0.0 0.0 2.0 2.0 1 0.0 2.0 3.0 3.0 2 1.0 1.0 NaN 2.0 3 1.0 3.0 NaN NaN 4 1.0 1.0 NaN NaN
Замена только первого элемента NaN внутри группы по строкам.
>>> df.groupby("key").ffill(limit=1) A B C 0 NaN 2.0 NaN 1 2.0 3.0 NaN 2 NaN NaN 2.0 3 3.0 NaN 2.0 4 3.0 NaN NaN
© 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/2.2.2/reference/api/pandas.core.groupby.DataFrameGroupBy.ffill.html