Припустимо, у мене є DataFrame з деякими NaN
s:
>>> import pandas as pd
>>> df = pd.DataFrame([[1, 2, 3], [4, None, None], [None, None, 9]])
>>> df
0 1 2
0 1 2 3
1 4 NaN NaN
2 NaN NaN 9
Що мені потрібно зробити, це замінити кожне NaN
першим не NaN
значенням у тому ж стовпці над ним. Передбачається, що перший рядок ніколи не буде містити NaN
. Так що для попереднього прикладу результат був би
0 1 2
0 1 2 3
1 4 2 3
2 4 2 9
Я можу просто переглядати всю колонку DataFrame по колонці, елемент за елементом і встановлювати значення безпосередньо, але чи є простий (оптимально без циклу) спосіб цього досягти?