Метод bfill
Метод bfill применяется к DataFrame
и заполняет пропущенные значения значениями из следующих
строк. По умолчанию заполнение происходит по столбцам,
но можно указать заполнение по строкам с помощью параметра
axis. Метод возвращает новый объект DataFrame
с заполненными пропусками.
Синтаксис
df.bfill([axis], [inplace], [limit], [downcast])
Пример
Давайте заполним пропуски в таблице значениями из следующих строк:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, np.nan, 3, np.nan, 5],
'b': [10, 20, np.nan, 40, 50]
})
print(df.bfill())
Результат выполнения кода:
a b
0 1.0 10.0
1 3.0 20.0
2 3.0 40.0
3 5.0 40.0
4 5.0 50.0
Пример
Давайте выполним обратное заполнение по строкам,
передав параметр axis со значением 1:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, np.nan, 3],
'b': [np.nan, 20, 30],
'c': [100, 200, np.nan]
})
print(df.bfill(axis=1))
Результат выполнения кода:
a b c
0 1.0 NaN 100.0
1 20.0 20.0 200.0
2 3.0 30.0 NaN
Пример
Давайте ограничим количество заполняемых пропусков
с помощью параметра limit:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, np.nan, np.nan, 4, 5],
'b': [10, 20, np.nan, 40, 50]
})
print(df.bfill(limit=1))
Результат выполнения кода:
a b
0 1.0 10.0
1 4.0 20.0
2 NaN 40.0
3 4.0 40.0
4 5.0 50.0
Пример
Давайте изменим исходную таблицу с помощью
параметра inplace:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a': [1, np.nan, 3, np.nan, 5],
'b': [10, 20, np.nan, 40, 50]
})
df.bfill(inplace=True)
print(df)
Результат выполнения кода:
a b
0 1.0 10.0
1 3.0 20.0
2 3.0 40.0
3 5.0 40.0
4 5.0 50.0
Смотрите также
-
метод
fillna,
который заполняет пропуски указанными значениями -
метод
ffill,
который выполняет прямое заполнение пропусков -
метод
dropna,
который удаляет строки или столбцы с пропусками -
метод
interpolate,
который интерполирует пропущенные значения