Предположим, у меня есть 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
Что мне нужно сделать, так это заменить each NaN
на первое не NaN
значение в том же столбце над ним. Предполагается, что первая строка никогда не будет содержать NaN
. Итак, для предыдущего примера результатом будет
0 1 2
0 1 2 3
1 4 2 3
2 4 2 9
Я могу просто просмотреть весь DataFrame столбец за столбцом, элемент за элементом и установить значения напрямую, но есть ли простой (оптимально свободный от цикла) способ добиться этого?