pandas.core.groupby.SeriesGroupBy.ffill#

SeriesGroupBy.ffill(limit=None)[источник]#

Заполнить значения вперед.

Параметры:
limitint, необязательный

Лимит количества значений для заполнения.

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

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

Смотрите также

Series.ffill

Возвращает Series с минимальным количеством символов в объекте.

DataFrame.ffill

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

Series.fillna

Заполнить значения NaN в Series.

DataFrame.fillna

Заполнить значения NaN в 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